Прошел курс. Получил код Dreamspark. Ввожу код на сайте, пишет: Срок действия этого кода проверки уже истек. Проверьте, правильно ли введен код. У вас осталось две попытки. Вы также можете выбрать другой способ проверки или предоставить соответствующие документы, подтверждающие ваш академический статус.
Как активировать код? |
Контролирующий код C#
Массивы
Массив, это последовательность однотипных элементов, упакованная под одним именем. Эти данные легко отсортировать, перебрать и обрабатывать. Массив в C# представляет собой объект ссылочного типа, который хранится на управляемой куче, а ссылка на него помещается в стек потока. Создание массива представляет собой двухступенчатый процесс: сначала объявляется ссылочная переменная на массив, а затем для него выделяется память и переменной присваивается ссылка на эту память.
Одномерные массивы
Так для одномерного массива синтаксис создания будет таким
тип[] имя_массива = new тип[размер];
Например, зарезервировать память под 10 элементов целого типа можно так
int[] array = new int[10];
Адресация элементов внутри массива выполняется с помощью целочисленного индекса, нумерация которого начинается с нуля. Выход индекса за пределы границ компилятором не контролируется и обнаруживается средой CLR только на этапе выполнения с генерацией исключения IndexOutOfRangeException.
Если массив объявляется как поле класса, то все элементы по умолчанию приобретают ближайшее по типу значение (для числового - нуль, для строкового - пусто, для булева - false, для ссылочного - null ). Если массив объявляется внутри метода как локальная переменная, то его перед использованием нужно явно инициализировать.
Массив в C# - это тип, производный от класса System.Array, поэтому все массивы наследуют от этого класса фиксированный набор объектных свойств и методов. Кроме того, сам класс Array содержит ряд статических методов (уровня класса), позволяющих выполнять обработку массивов как объектов.
Одну и ту же ссылку на массив можно использовать многократно при создании нескольких совместимых с ее типом массивов. В таком случае адресация прежнего массива будет утеряна. Например
int[] array = new int[10]; ............ array = new int[20];
Можно выполнять сразу и объявление и инициализацию массива, тогда создание массива и подсчет его размерности выполнит компилятор по списку инициализации. В этом случае ключевое слово new не нужно. Например
int[] array = { 1, 2, 3, 4, 5 };
Можно создать массив фиксированной размерности и сразу его инициализировать. Тогда размер списка инициализации должен строго соответствовать заказанной размерности массива. Например
int[] array = new int[5]{ 1, 2, 3, 4, 5 };
Допустим и такой синтаксис - без указания размерности, но с инициализацией
int[] array = new int[]{ 1, 2, 3, 4, 5 };
Можно вначале создать массив, а потом поэлементно присвоить ему значения. И тоже нужно следить, чтобы не выйти за пределы установленной размерности массива.
int[] array = new int[5]; for (int i = 0; i < array.Length; i++) array[i] = i;
Многомерные массивы
Массивы большего числа измерений имеют синтаксис, схожий с одномерными массивами.
Приведем примеры
Двумерный целочисленный массив
// Файл Program.cs using System; class MyClass { public MyClass() { // Настройка консоли Console.Title = "Двумерный массив 5x4"; Console.ForegroundColor = ConsoleColor.White; Console.CursorVisible = false; // Работа с двумерным массивом const int ROWS = 5, COLUMNS = 4;// Границы int[,] array = new int[ROWS, COLUMNS];// Создание for (int count = 0; count < array.Length; count++) array[count / COLUMNS, count % COLUMNS] = count;// Наполнение for (int row = 0; row < ROWS; row++)// Перебор строк { for (int col = 0; col < COLUMNS; col++)// Перебор столбцов { string str = String.Format("a[{0},{1}]={2, -6}", row, col, array[row, col]); Console.Write(str); } Console.WriteLine();// Новая строка } } } class Program { static void Main() { new MyClass();// Чтобы сработал конструктор // Для задержки консольного окна Console.ReadLine(); } }
Размеры двумерного массива могут определяться компилятором автоматически по списку инициализации
// Файл Program.cs using System; class MyClass { public MyClass() { // Настройка консоли Console.Title = "Двумерный массив со списком инициализации"; Console.ForegroundColor = ConsoleColor.White; Console.CursorVisible = false; // Размерность двумерного массива по списку инициализации int[,] array = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}, {12, 13, 14, 15}, {16, 17, 18, 19} }; const int ROWS = 5, COLUMNS = 4;// Границы для печати for (int count = 0; count < array.Length; count++) array[count / COLUMNS, count % COLUMNS] = count;// Наполнение for (int row = 0; row < ROWS; row++)// Перебор строк { for (int col = 0; col < COLUMNS; col++)// Перебор столбцов { string str = String.Format("a[{0},{1}]={2, -6}", row, col, array[row, col]); Console.Write(str); } Console.WriteLine();// Новая строка } } } class Program { static void Main() { new MyClass();// Чтобы сработал конструктор // Для задержки консольного окна Console.ReadLine(); } }