- •Теория Введение. Составные компоненты языка программирования
- •Типы данных. Описание переменных. Константы именованные и неименованные
- •Базовые типы
- •Int32 -2млрд..2млрд
- •Константы
- •Неименованные константы
- •Именованные константы
- •Переменные
- •Идентификаторы
- •Основная структура программы Для консольного приложения автоматически создается структура:
- •Оператор присваивания
- •Операторы ввода-вывода
- •Операторы ввода
- •Операторы вывода
- •X или X Шестнадцатеричный формат
- •Арифметические операторы
- •Бинарные
- •Унарные
- •Комбинированные операторы присваивания
- •Логические операторы
- •Операторы отношения
- •Уровни значимости операторов
- •Стандартные функции
- •Составной оператор
- •Раздел: Условные операторы Оператор условия (if)
- •If (выражение_лог_типа) оператор; //сокращенная форма
- •Оператор варианта (switch)
- •Решение
- •Int n, sum; string s; //описываем необх. Переменные
- •Раздел: Операторы цикла Оператор цикла с параметром (for)
- •Оператор цикла с постусловием (do - while)
- •Оператор цикла с предусловием (while)
- •Раздел: Массивы, строки Массивы одномерные
- •Оператор foreach
- •Строки. Средства работы со строками
- •Точные строки: символ @
- •Преобразование строк в другие типы
- •Раздел: Создание подпрограмм Методы
- •Передача типов значений с помощью значения
- •Int I;//независимая переменная
- •Передача типов значений с помощью ссылки
Оператор foreach
Оператор foreach повторяет группу внедренных операторов для каждого элемента в коллекции массива или объекта. Оператор foreach используется для итерации коллекции с целью получения необходимой информации, однако его не следует использовать для изменения содержимого коллекции во избежание непредвиденных побочных эффектов.
Внедренные операторы продолжают выполняться для каждого элемента массива или коллекции. После завершения итерации всех элементов коллекции управление переходит к следующему оператору после блока foreach.
В любой точке блока foreach можно разорвать цикл с помощью ключевого слова break или перейти к следующей итерации в цикле с помощью ключевого слова continue.
Цикл foreach также может быть разорван при помощи операторов goto, return или throw.
Пример: Распечатать содержимое массива в одну колонку
int[] myarray5 = new int[] { 0, 1, 2, 3, 5, 8, 13 };
// В операторе foreach требуется указать и тип, и идентификатор
foreach (int i in myarray5)
Console.WriteLine(i);
Пример: Во введённом массиве определить минимальный элемент
int i,N; string s;
Console.Write("Введите число элементов массива N=");
s = Console.ReadLine();
N = Convert.ToInt32(s);
int[] massiv1 = new int[N];
for (i = 0; i < N; i++)
{
Console.Write("Введите {0}-й элемент массива ",i);
s = Console.ReadLine();
massiv1[i] = Convert.ToInt32(s);
}
//Временно считаем, что самый первый
//элемент и есть минимальный
int min = massiv1[0];
//запускаем цикл по всем элементам массива
//при этом очередной элемент массива
//будет помещаться во временную переменную x
foreach (int x in massiv1)
//сравниваем текущий минимум
//с очередным элементом
//и если нужно обновляем
//текущий минимум
if (x < min) min = x;
Console.WriteLine("Минимальный элемент массива равен {0}", min);
Console.ReadKey();
Строки. Средства работы со строками
Строка в C# — это массив знаков, объявленный с помощью ключевого слова string. Строковый литерал объявляется с помощью кавычек, как показано в следующем примере.
string s = "Hello, World!";
Переприсваивание
Строки можно целиком переприсваивать:
string s1 = "Hello";
string s2 = s1; //переприсваиваем
Объединение строк
Можно объединять строки с помощью оператора +, как показано в следующем примере:
string s1 = "orange";
string s2 = "red";
s1 += s2;
Console.WriteLine(s1); // напечатается "orangered"
Escape-знаки
Строки могут содержать escape-знаки, такие как "\n" (новая строка) и "\t" (табуляция). Пример:
string hello = "Hello\nWorld!";
Console.WriteLine(hello);
/* Напечатается
Hello
World!
*/
string s = "чтобы вставить \"кавычки\" в строку используем обратный слэш";
Console.WriteLine(s);
Если требуется добавить в строку обратную косую черту, перед ней нужно поставить еще одну обратную косую черту. Следующая строка:
string filePath = "\\\\My Documents\\";
Console.WriteLine(filePath);
/* Напечатается:
\\My Documents\
*/
