Методические указания
Методические указания к пункту 3.1.
Массив это совокупность переменных одного типа с общим именем. Рассмотрим конструкцию объявления массива:
тип [] имя = new тип [размер];
Размер указывает на количество элементов. Рассмотрим пример:
В приведенном примере объявляется массив размером в 4 элемента. Обращение к определенным элементам массива осуществляется при помощи индексов. Главная ошибка, которую допускают при работе с массивами, это использования неверного индекса. Индекс элементов массива начинается с нуля. Таким образом, инициализация созданного массива будет выглядеть следующим образом:
В C# есть возможность инициализировать массив при объявлении. Для этого используется следующая конструкция:
тип [] имя = new тип [] {значение, значение…};
Можно применять короткую форму:
тип [] имя = {значение, значение…};
Рассмотрим пример:
При объявлении массив arr инициализируется тремя значениями.
Массивы, так же как и переменные, могут быть объявлены неявно типизированными при помощи ключевого слова var, как это показано в примере:
В результате исполнения данного кода будет создан массив с тремя дробными значениями. Главное на что стоит обратить внимание при неявной типизации массивов - данные должны быть одного формата. Например, следующий код вызовет ошибку:
В примере смешаны три формата значений – число, строка и символ.
Для работы с массивами применяют циклы. При составлении цикла, нужно уделить особое внимание условию выполнения и не допустить выхода индекса за установленный предел при объявлении. Рассмотрим пример применения цикла для считывания с клавиатуры значений в массив:
В приведенном примере строковые данные при считывании с клавиатуры преобразуются в тип double при помощи метода Parse (для преобразования в тип int нужно поступать аналогичным образом).
Методические указания к пункту 3.2.
Массивы могут быть многомерными. Для этого указывается число элементов в каждом измерении через запятую. Пример объявления двухмерного целочисленного массива 3х3:
Другой пример объявления трехмерного массива символов 4х3х5:
Обращение к элементам многомерных массивов не отличается от одномерных массивов:
В результате будет выведено на экран число 150.
Методические указания к пункту 3.3.
Массивы в C# в отличии от большинства языков программирования являются объектами. Благодаря этому у всех массивов есть набор методов и полей. Рассмотрим примеры использования методов и полей:
В приведенном коде осуществляется инициализация двухмерного массива при объявлении. Затем осуществляется вывод на экран числа 6 (это размер массива, количество элементов во всех его измерениях). Поле Length эффективно применять в циклах, т.к. помогает избегать ошибок выхода за границы массива. Пример заполнения массива случайными значениями:
Если необходимо определить размерность массива необходимо вызывать поле Rank:
Для сортировки по возрастанию массива применяется метод Sort класса Array:
А для расположения элементов в обратном порядке используется метод Reverse:
Пример копирования массива:
Методические указания к пункту 3.4.
Для полного перебора массива можно применять специализированный цикл foreach (цикл специализируется не только на массивах, а на так называемых коллекциях). Его конструкция:
foreach (тип переменная in массив) {операторы тела цикла};
Рассмотрим пример:
В результате будет выведено на экран четыре значения: 105, 103, 118 и 109. Таким образом, в конструкции foreach можно обращаться к элементу массива используя переменную цикла.
Методические указания к пункту 3.5
Все массивы, которые мы рассмотрели до этого, были прямоугольными. Может возникнуть ситуация, при которой необходимо сделать на каждом уровне измерения свое количество элементов. В C# такие массивы называются зубчатыми и реализуются они с помощью объявления массива массивов. Рассмотрим пример:
В результате будет создан массив, в котором в первом измерении содержится 3 элемента, во втором – 2 и в третьем – 4.