Программирование на языке си ( с ) | C Sharp (Си шарп) с нуля. Сортировки | Массивы | Функции

Работа с одномерными | многомерными массивами ( объявление | инициализация | доступ)

В C sharp выделяют следующие виды массивов:

  1. одномерные
  2. многомерные
  3. зубчатые или изрезанные

Давайте прежде определимся, для чего вообще нужны массивы. Если у нас есть определенное множество элементов одного типа, то удобнее будет их объединить в одну структуру, которая и является массивом.

   Одномерные массивы

О работе с одномерными массивами нужно знать основные вещи. Это - объявление, инициализация, и доступ к элементам массива.

  1. объявление
  2. <тип массива>[]    <имя массива>;
    int[] arr;
    char[] ch;
    double[] db1, db2;

    Обратите внимание, что при объявлении массива в C sharp, квадратные скобки пишутся возле типа массива, а не его имени.

  3. инициализация
  4. Существует несколько форм инициализации массива. Вот наглядная иллюстрация каждой из них:

    int[] arr = new int[6]; // выделяем для массива область в 6 элементов

    //сразу инициализировать элементы нам так же ни кто не запрещает
    char[] ch = new int[6] {'a', 'b', 'c', 'd', 'e', 'f'};
    char[] ch = new int[] {'a', 'b', 'c', 'd', 'e', 'f'};
    char[] ch = {'a', 'b', 'c', 'd', 'e', 'f'};

    Последние три примера являются идентичными. Поэтому пользуйтесь тем, который вам будет понятнее и удобнее.

  5. доступ к элементам
  6. Доступ к элементам одномерного массива осуществляется по средствам индексатора. Причем вы можете, как получать значения элементов массива, так и задавать их:

    int[] ob1 = new int[3] {8,9,3};
    int zn1 = ob1[0];
    int zn2 = ob1[1];
    int zn3 = ob1[2];
    ob1[0] = 22;

    Не забывайте, что все элементы массива начинаются с индекса - 0. Его, к сожалению, ни как не поменять.

   Многомерные массивы

Многомерные массивы - это такие массивы, элементами которых являются другие массивы. Как бы страшно это не звучало, но многомерные массивы - это массивы массивов. Давайте разберем их, так же как и одномерные:

  1. объявление
  2. Объявление многомерного массива происходит примерно так же, как и с одномерным, за исключением того, что указывается размерность массива с помощью запятых в квадратных скобках:

    int[,] a; // двумерный массив
    char[,,] b; // трехмерный массив;

    Надеюсь, вы не садисты и не собираетесь использовать многомерные массивы большей размерности.

  3. инициализация
  4. Можно сначала выделить пространство под многомерный массив, а после уже объявить каждый элемент по отдельности:

    int[,] znach = new[2,3];
    znach[0,0] = 1;
    znach[0,1] = 2;
    znach[0,2] = 3;
    znach[1,0] = 4;
    znach[1,1] = 5;
    znach[1,2] = 6;

    Т.е. мы создали массив с двумя элементами-массивами, содержащими по 3 элемента.

    Так же можно сразу присваивать инициализированному многомерному массиву множество значений:

    int[,] arr = {
        {12, 13},
        {16, 17},
        {19, 20},
        {34, 45}
    };

Доступ к элементам, как вы уже видели чуть выше, происходит путем указания в квадратных скобках позиций элемента. Для примера выведем на консоль предвидущий массив arr:

string str1 = "";
int stroka = arr.GetLength(0), stolbec = arr.GetLength(1);
for (int i = 0; i < stroka; i++)
{
    for (int j = 0; j < stolbec; j++)
    {
        str1 += arr[i, j].ToString();
        str1 += " ";
    }
    str1 += "\n";
}
Console.WriteLine("Значения:\n{0}", str1);

Рекомендации к прочтению:

  1. Типы данных в C sharp
  2. Зубчатый массив и класс Array
  3. Изолированное хранилище
При копировании ( использовании ) материала размещайте ссылку на сайт www.mir-koda.ru