русс | укр

C# - Головна
Контакти
Задайте питання...
Перегляд всіх питань


Простір імен
  ► System (5)
  ► Microsoft (1)


Для учнів (початківців)
  ► Відео уроки (4)
  ► Навчання (177)
  ► Приклади програм (19)
  ► Секрети Сі Шарп (4)

Для професіоналів
  ► Навчання (6)
  ► Приклади програм (1)










Оператор for C#

 

Наследованный від С++ дуже зручний оператор циклу for узагальнює відому конструкцію циклу типу арифметичної прогресії. Його синтаксис:

 

for(инициализаторы; умова; список_выражений) оператор

 

Оператор, що стоїть після закриваючої дужки, задає тіло циклу. У більшості випадків тілом циклу є блок. Скільки разів буде виконуватися тіло циклу, залежить від трьох керуючих елементів, указаних у дужках. Инициализаторы задають початкове значення однієї або кількох змінних, часто званих лічильниками або просто змінними циклу. У більшості випадків цикл for має один лічильник, але часто корисно мати кілька лічильників, що й буде продемонстровано в наступному прикладі. Умова задає умову закінчення циклу, відповідний вираз при обчисленні має отримувати значення true або false. Список виразів, записаний через кому, показує, як змінюються лічильники циклу на кожному кроці виконання. Якщо умова циклу істинно, то виконується тіло циклу, потім змінюються значення лічильників і знову перевіряється умова. Як тільки умова стає хибною, цикл завершує свою роботу. У циклі for тіло циклу може жодного разу не виконуватися, якщо умова циклу хибно після ініціалізації, а може відбуватися зациклення, якщо умова завжди залишається істинним. У нормальній ситуації тіло циклу виконується кінцеве число раз.

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

У тих випадках, коли передбачається можливість передчасного завершення циклу за допомогою одного з операторів переходу, лічильники оголошуються до циклу, що дозволяє аналізувати їх значення при виході з циклу.

 

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

 

/// < summary>

/// Визначення палиндромов.Демонстрація циклу for

/// < /summary>

/// < param name="str">текст</param>

/// < returns>true - якщо текст є паліндромом</returns>

public bool Palindrom(string str)

{

for (int i =0,j =str.Length-1; i<j; i++,j--)

if(str[i]!=str[j]) return(false);

return(true);

}//Palindrom

 

Переглядів: 1517






© 2012 ci-sharp.ru При використанні матеріалу пряме iндексуюче посилання на сайт ОБОВ'ЯЗКОВЕ.
Права строго захищені нормами міжнародного права, інтелектуальної власності та авторського права.