Урок № 7. Первое знакомство с Массивами
Понятие массива в C#
Доброго времени суток! Настало время познакомиться с массивами! Массивы, как и «одиночные» переменные, в я зыке C# предназначены для хранения данных, только в «одиночной» переменной можно хранить всего одно значение, то в массивах можно хранить множество однотипных значений одновременно. Разберемся как это работает!
Представим, что нам одновременно нужно хранить информацию в десяти разных переменных одного типа, каждая из которых представляет собой некий показатель эффективности выполнения какого-нибудь (сейчас это действительно неважно) процесса. В коде это будет выглядеть примерно так:
//Десять "одиночных" переменных int value1 = 24; int value2 = 21; int value3 = 41; int value4 = 44; int value5 = 12; int value6 = 24; int value7 = 42; int value8 = 35; int value9 = 32; int value10 = 11;
Десять переменных «вести» уже не очень удобно, а представляете, что этих переменных нужны сотни, или даже тысячи? Вот тут и приходят на помощь массивы, хранение десяти целочисленных значений в одном массиве будет выглядеть следующим образом:
//Массив из десяти элементов int[] intArray = new int[10]; //10 – количество элементов в массиве
Именно так выглядит объявление (создание) массива из десяти элементов, т.е. аналога десяти «одиночных» переменных такого типа.
Теперь разберемся с тем, как же получить доступ к переменным, «скрытым» в нашем массиве, а все очень просто: для доступа к элементам массива, нужно знать его имя (название), в нашем случае – это «intArray» и номер (а точнее индекс) нужного элемента, только есть одна особенность, элементы массива нужно считать, начиная с нуля, т.е. первый элемент будет иметь индекс «0» а последний – количество элементов в массиве – 1. А на практике, это выглядит так:
//Доступ к первому элементу массива intArray[0] = 24; //Доступ к пятому элементу массива intArray[4] = 12; //Доступ к последнему элементу массива intArray[9] = 12;
Как несложно догадаться, индекс элемента указывается в квадратных скобка, расположенных сразу после названия массива. А в приведенном выше примере, мы установили значение первому, пятому, и последнему элементам массива.
Доступ к элементам массива по индексу, может привести к путанице, например, в случае, когда указывается индекс «0», мы однозначно понимаем, что тут идет обращение к первому элементу массива, а вот в случае, когда мы обращались к последнему элементу массива, указывался индекс «9», что на самом деле однозначно не говорит, что это индекс последнего элемента (в месте обращения, к элементу по индексу «9», мы можем и не знать, что массив состоит из десяти элементов). По этой причине, мы можем при создании массива не «в лоб» указывать число «10», а использовать ранее подготовленную константу (т.е. подставлять имя константы) со значением 10 как показано ниже:
//Константа, обозначающая размер массива const int SIZE = 10; //Создание массива из десяти элементов int[] intArray2 = new int[SIZE];
Тогда доступ к последнему элементу массива будет обозначаться так:
//Доступ к последнему элементу массива intArray2[SIZE - 1] = 18;
Согласитесь, что так уже нагляднее, но не только нагляднее, но и практичнее, например, если мы захотим увеличить размер нашего массива, то нам нужно будет изменить только одно место – место объявления константы, примерно так:
//Константа, обозначающая размер массива const int SIZE = 12;
И всё, остальной код будет работать исправно! Так что, использовать константы уже лучше, чем подставлять значения «в лоб». Но не в любом месте программного кода видно, какая константа использована в качестве размера конкретного массива. К счастью, у массивов в C# есть замечательная особенность, каждый массив хранить не только значения своих элементов, но и дополнительную информацию, такую как количество элементов (т.е. свой размер). Таким образом, при обращении к элементу массива по индексу, можно использовать эту информацию, а делается это так:
/* * Последнему элементу массива «intArray3» * присваивается значение «40» */ intArray3[intArray3.Length - 1] = 40;
В данном примере, мы используем свойство массива «intArray3», которое называется «Length», свойства (в английской терминологии «properties») вызываются через «.» (точку), написанную после имени объекта (в нашем случае массива), к которому они относятся.
И так, в этом уроке Вы вкратце познакомились с массивами и их использованием в языке C#. Если сейчас что-то непонятно, сильно не беспокойтесь, знакомство с массивами только началось, в следующем уроке мы его продолжим, но уже в разрезе изучения возможностями управления ходом выполнения программы.