Массивы представляют собой набор переменных одного типа, объединенных одним именем. Рассмотрим пример, где могли бы применяться массивы.
Например, нужно написать программу, которая измеряет температуру каждый час в течение суток. Для хранения значений температуры мы могли бы объявить 24 переменные, каждая из которых хранила бы одно из значений:
// переменная для хранения значения температуры в 0 часов byte temperatureValue0; // переменная для хранения значения температуры в 1 час byte temperatureValue1; byte temperatureValue2; byte temperatureValue3; byte temperatureValue4; // и т.д. для каждого часа
Такой способ хранения данных не очень удобен, т.к. придется создавать большое количество переменных, в которых легко можно запутаться. К тому же для вывода значений, например, на экран, или в файл нужно будет обрабатывать вывод отдельно для каждой переменной:
Console.WriteLine("Температура в 0 часов: " + temperatureValue0); Console.WriteLine("Температура в 1 час: " + temperatureValue1); Console.WriteLine("Температура в 2 часа: " + temperatureValue2); Console.WriteLine("Температура в 3 часа: " + temperatureValue3); // еще 20 строк кода для вывода остальных значений
Что бы упростить программу, используем массив. Массивы в C# в общем случае объявляются так:
тип[] имяМассива; // тип - тип переменных, которые будут использоваться в массиве; // имяМассива - имя массива.
В нашем случае, массив для хранения значений температуры будет выглядеть так:
// Объявление массива temperatureValues типа byte byte[] temperatureValues;
Массивы относятся к ссылочным типам данных, поэтому перед использованием массива нужно его создать при помощи ключевого слова new. Так как в C# размер массива нельзя изменить, то при создании массива нужно еще указать его размер:
byte[] temperatureValues = new byte[ 24 ];
При помощи ключевого слова new
создаются 24 переменные типа byte
. Доступ к переменным в массиве осуществляется при помощи индекса – номера переменной внутри массива. Нумерация переменных внутри массива начинается с 0. Таким образом номер первой переменной будет 0, а последней (в нашем случае) – 23.
Доступ к элементу массива (переменной внутри массива) осуществляется при помощи номера элемента внутри массива, который указывается в квадратных скобках.
// Присвоим первому элементу значение 5 temperatureValues[ 0 ] = 5;
Для обработки элементов массива удобнее всего использовать цикл, например, цикл for. Вот как можно вывести на консоль значения элементов нашего массива:
for ( int i = 0; i < 24; i++ ) { Console.WriteLine( temperatureValues[ i ] ); }
Для получения количества элементов массива можно использовать свойство Length массивов. Используя это свойство, предыдущий участок кода можно переписать так:
for ( int i = 0; i < temperatureValues.Length; i++ ) { Console.WriteLine( temperatureValues[ i ] ); }