Ітерації у C#

Всі програмні мови надають можливість повторенню певного блоку коду доки виконується якась умова. Сьогодні я покажу які типи ітерацій є в C# та трохи їх поясню.

C# надає чотири ітераційні цикли:

  • for
  • foreach
  • while
  • do/while

Цикл for

Коли вам потрібно зробити ітерацію (повторне виконання блоку коду) фіксовану кількість раз  ітерація for надає добру гнучкість. Продемонструю маленький приклад:

static void ForIteration()
{
    for (int i = 0; i < 10; i++)
    {
       String helloMsg = "Hello";
       Console.WriteLine(helloMsg + i);
    }
}

В цьому прикладі створюється цикл for, в якому задається локальна змінна “i” зі значенням, ставиться умова ітерації i <10, та вказується дії після кожної наступної ітерації: i++ ( i = i + 1)

Отже результатом виводу буде:

Цикл foreach

Коли у вас є колекція елементів (масив або двузвязний список) ви можете створити цикл, який буде виконуватись таку кількість раз скільки в вас є елементів  в списку. Продемонструю на прикладі:


static void ForeachIteration()
{
    int[] simpleArray = new int[10];
    foreach (int i in simpleArray)
    {
        Console.WriteLine("Hello" + i);
    }
}

Отже на початку методу в нас створюється масив довжиною 10 елементів. За змовчуванням всі примітивні типи які ми розглядали в попередній темі мають якесь стандартне значення, наприклад int має нуль. Після цього створюється цикл для перебору всіх елементів цього масиву де оголошується локальна змінна, яка буде ідентифікувати елемент, на якому в даний момент йде ітерація.

Результат виводу буде таким:

Цикл while

Цей вид циклу корисний для того, щоб  безкінечно повторювався блок коду доки справджується якась умова. Знову продемонструю це на прикладі:

static void WhileIteration()
{
    String userSelection = "";
    while (userSelection.ToLower() != "yes")
    {
        Console.WriteLine("Continue? Yes or No");
        userSelection = Console.ReadLine();
        Console.WriteLine("Continue while iteration");
    }
}

В цьому методі створюється змінна userSelection типу String та розпочинається цикл while в якому зчитуються дані з клавіатури в цю змінну. Умова для цього циклу є такою, що він буде виконуватись доки в змінній userSelection значення не стане “yes”.

Якщо два рази вводити будь-які вхідні дані то результат виконання буде таким:

Цикл do/while

І останній цикл який я продемонструю – це цикл з післяумовою.

Коли вам потрібно виконати блок коду безкінечну кількість разів але гарантуючи що він виконається хочаб один раз, можна застосувати цикл do while:

static void DoWhileIteration()
{
    String userSelection = "";
    userSelection = Console.ReadLine();
    do
    {
        Console.WriteLine("Continue? Yes or No");
        userSelection = Console.ReadLine();
        Console.WriteLine("Continue while iteration");
    } while (userSelection.ToLower() != "yes");
}

В цьому прикладі цикл має виконатись хочаб один раз, тобто умова перевіряється в кінці циклу.

В ваших програмах ви часто будете застосовувати всі типи циклів, такщо рекомендую ознайомитись з ними детальніше. До зустрічі 🙂

Advertisements

, , , ,

  1. #1 by Вова on November 14, 2010 - 21:11

    Многа букафф, ниасилил

  2. #2 by Вова on November 14, 2010 - 21:13

    КГ/АМ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: