Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
20.05.2015
Размер:
271.36 Кб
Скачать

Основные операторы языка c#

Состав и синтаксис операторов C# унаследован от языка С++. Тем не менее существует ряд отличий, которые улучшают некоторые характеристики C++, делая его более легким в использовании. Предполагая, что читатель уже знаком с основными операторами языка C++ и имеет минимальный опыт программирования, остановимся на рассмотрении только наиболее значимых операторов C#, а также операторов, специфических для данного языка программирования.

Цикл foreach

Новым видом цикла, который появился в C# и отсутствует в C++, является цикл foreach. Он удобен при работе с массивами, коллекциями и другими контейнерами данных. Синтаксис оператора выглядит следующим образом:

foreach (тип идентификатор in контейнер) оператор

Тело цикла выполняется для каждого идентификатора в контейнере. Тип идентификатора должен быть согласован с типом элементов, хранящихся в контейнере. На каждом шаге цикла идентификатор, задающий текущий элемент контейнера, получает значение очередного элемента в соответствии с порядком, установленным на элементах контейнера. С использованием этого текущего элемента и выполняется тело цикла. Количество шагов цикла равно количеству элементов, находящихся в контейнере. Таким образом, цикл заканчивается в тот момент, когда были перебраны все элементы контейнера.

Важной особенностью этого цикла является то, что в теле цикла элементы контейнера доступны только для чтения. Поэтому заполнять коллекции с использованием цикла foreach нельзя, необходимо пользоваться другими видами циклов.

В следующем примере демонстрируется работа с двумерным массивом, который в начале заполняется случайными числами с помощью цикла for, затем с помощью цикла foreach подсчитывается сумма всех элементов массива, а также находятся минимальный и максимальный элементы.

public void SumMinMax()

{

int[,] myArray = new int[10, 10];

Random rnd = new Random();

for (int i = 0; i < 10; i++)

{

for (int j = 0; j < 10; j++)

{

myArray[i, j] = rnd.Next(100);

Response.Write(myArray[i, j] + " ");

}

Response.Write("<br/>");

}

long sum = 0;

int min = myArray[0, 0];

int max = myArray[0, 0];

foreach (int i in myArray)

{

sum += i;

if (i > max) max = i;

if (i < min) min = i;

}

Response.Write("Sum=" + sum.ToString() + " Min=" +

min.ToString() + " Max=" + max.ToString());

}

Соседние файлы в папке дополн_матерС#