Все о массивах в C#

Приветствую всех. Сегодня я решил написать статью в которых будут рассмотрены примеры работы с массивами.

Объявления массива

Методы массива

Передача массива в методы

Двумерному массиву

Массив массивов

 

Объявления массива

Объявления массива происходит так же как и обычной переменной другого типа. Типы массивов могут быть как int, string, double, итд.

Объявляем массив:

Инициализируем массив:

Обращение к массиву и присваивание значений по индексу:

Индекс в массиве всегда начинается с 0.

Рассмотрим и другие варианты инициализации массива:

Важно!

Следующий пример выведет 0, поскольку массив чисел инициализирован нулями.

Однако стоит помнить что в случаи инициализации строк в них значение будет null

 

Почему так спросите вы? Есть некая фундаментальная разница между массивами и строками с одной стороны и числами — с другой.

Методы.

Массив имеет собственные методы, опишу часто используемые методы:

CopyTo(array,Int32); Копирует все элементы текущего одномерного массива в заданный одномерный массив начиная с указанного индекса в массиве назначения.

 

Equal(); Определяет, равен ли заданный объект текущему объекту.

IndexOf(Array,Object); Выполняет поиск указанного объекта внутри всего одномерного массива и возвращает индекс его первого вхождения.

Reverse(Array); Изменяет последовательность элементов в диапазоне элементов одномерного массива.

Sort(Array); Сортирует элементы во всем одномерном массиве.

 

Как вывести содержимое массива:

Вариант с помощью for

Вариант с помощью foreach

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

Стоит помнить что массив, как и строка, может быть равен null и соответственно, не инициализированные глобальные переменные типа массивов также равны null.

Передача массива в метод.

Теперь перейдем к одной из важных частей рассмотрения массива. О том как массив передается в метод и что с ним происходит.

Рассмотрим 3 метода с перегрузками, принимающие массив.

Если установить в переданный массив новые значения в рамках метода,

Если новые значения нужны и после выполнения метода, тогда надо пользоваться ключевым словом ref:

Если нужно просто вернуть новые значения, то так:

Главное не забывать что массивы работают по ссылочному принципу, и когда массив передается в метод, в методе он все равно ссылается на стек в памяти где храниться. И при изменении значения массива в методе someMethod , меняться значения в массиве из основного метода Main()  в котором мы передавали его.

Двумерный массив.

Следующей частью статьи посвящу двумерному массиву.

Двумерный массив может иметь разные типы, как и одномерный.

Объявления и инициализация происходит следующим образом:

В данном примере заполняются в виде матрицы рандомными цифрами. В виде 5 колонок и 5 столбцов. По этому же принципу происходит и обращение к элементам массива.

Однако надо учитывать, что длина такого массива — это совокупное количество элементов, в нашем примере длинна будет равна массива 25.

Массив массивов.

В заключении познакомимся еще с одной вариацией массивов, так называемый массив массивов. Такая разновидность массивов, может иметь разные типы как и переменные.

В отличие от многомерного массива, индексация производится двумя парами скобок:

В отличие от многомерного массива, являющегося прямоугольником или параллелепипедом, в массиве массивов все хранимые массивы могут быть разной длины

Могут быть массивы массивов массивов…

или массивы двумерных массивов

а также двумерные массивы массивов

Стоит запомнить что если есть тип, то из него можно сделать массив, который тоже будет типом.

Теперь рассмотрим как можно получить данные с таких массивов:

 

Обновлено: 30.12.2017 — 21:38

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.