понедельник, 25 июня 2012 г.

C# Цикл


Есть несколько циклов, которые используются зачастую в работе.
Это For, While и Foreach.

Рассмотрим каждый на примерах.
Цикл For

Чтобы многократно выполнить последовательность программных инструкций, необходимо организовать цикл. В языке C# циклические конструкции представлены в богатом ассортименте. В этом разделе мы рассмотрим цикл for. Если вы знакомы с C, C++, то вам будет приятно узнать, что цикл for в C# работает точно так же, как в этих языках. Простейшая форма записи цикла for имеет следующий вид. 
for(инициализация; условие; итерация) инструкция;

В самой общей форме элемент инициализация устанавливает управляющую переменную цикла равной некоторому начальному значению. Элемент условие представляет собой булево выражение, в котором тестируется значение управляющей переменной цикла. Если результат этого тестирования истинен, цикл for выполняется еще раз, в противном случае его выполнение прекращается. Элемент итерация — это выражение, которое определяет, как изменяется значение управляющей переменной цикла после каждой итерации. Рассмотрим небольшую программу, в которой иллюстрируется цикл for. 

        private void Form1_Load(object sender, EventArgs e)
        {
            //опустошаем label1
            label1.Text = "";
            //объявляем переменную
            int count;
            //Создаём цикл
            for (count = 0; count < 5; count = count + 1)
            {
                label1.Text += ("Это счет: " + count +"\n");
            }
            
            label2.Text = "готово"

        }

Цикл While

Общая форма цикла while имеет такой вид: 
while(условие){инструкция;}
Здесь под элементом инструкция понимается либо одиночная инструкция, либо блок инструкций. Работой цикла управляет элемент условие, который представляет собой любое допустимое выражение типа bool. Элемент инструкция выполняется до тех пор, пока условное выражение возвращает значение ИСТИНА. Как только это условие становится ложным, управление передается инструкции, которая следует за этим циклом.  



        private void Form1_Load(object sender, EventArgs e)
        {
            int num;
            int mag;
            num = 435679;
            mag = 0;
            label1.Text = ("Число: " + num);
            while (num > 0)
            {
                mag++;
                num = num / 10;
            };
            label2.Text = ("Порядок: " + mag);

        }

Цикл while работает следующим образом. Проверяется значение переменной num. Если оно больше нуля, счетчик mag инкрементируется, а значение num делится на 10. Цикл повторяется до тех пор, пока num больше нуля. Когда num станет равным нулю, цикл завершится, а переменная mag будет содержать порядок исходного числа. 


Цикл Foreach

Цикл foreach используется для опроса элементов коллекции. Коллекция — это группа объектов. C# определяет несколько типов коллекций, и одним из них является массив. 
Очень часто используется в C#.
Формат записи цикла foreach имеет такой вид:
foreach(тип имя_переменной in коллекция) {инструкция;}
Рассмотрим простой пример использования цикла foreach. Приведенная ниже программа создает массив для хранения целых чисел и присваивает его элементам начальные значения. Затем она отображает элементы массива, попутно вычисляя их сумму.





        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Text = "";
            int sum = 0;
            int[] nums = new int[10];
            // Присваиваем элементам массива nums значения.
            for (int i = 0; i < 10; i++)
                nums[i] = i;
            // Используем цикл foreach для отображения значений
            // элементов массива и их суммирования.
            foreach (int x in nums)
            {
                string l = ("Значение элемента равно: " + x + "\n");
                sum += x;
                label1.Text += l;
            }
            label2.Text = ("Сумма равна: " + sum);

        }

Как видно из приведенных выше результатов, цикл foreach последовательно опрашивает элементы массива в направлении от наименьшего индекса к наибольшему.

В C# есть также и другие циклы, но на данный момент ни один из них не пригодился в работе.
Использовал за всё время только эти три.

0 коммент.:

Отправить комментарий

TROCKII БЛОГ Copyright © 2012 | Template created by Lev Trockii |