Массивы в C# - это коллекция элементов одного типа, хранящихся в памяти непрерывно, где каждый элемент имеет индекс. Индексация начинается с нуля.
Массивы используются для структурированного хранения данных, когда заранее известно их количество и необходим быстрый доступ к элементам по индексу.
Индексация
Индекс - это номер элемента, который находится в массиве.
Возьмем в качестве примера несколько чисел: 1, 2, 3, 4, 5. Они сейчас расположены по порядку от 1 до 5. Если бы это был массив то первое число(1) был бы под индексом 0.
Работа с массивами
Для объявления и инициализации (выделения памяти) массива используется следующий синтаксис:
Пример использования:
Заполнение массива
Выше мы создали массив, состоящий из 5 элементов, каждый из которых равен нулю. Для корректного использования требуется заполнить массив, сделать это можно 4 способами:
1. Заполнить массив при создании:
2. Отдельно присвоить каждому элементу значение:
3. Случайными числами:
В этом способе я использую цикл for для того чтобы перебрать каждый элемент массива по очереди и объект Random для генерации случайного числа. О данном классе поговорим ниже. Подробнее и циклах я рассказывал здесь.
Кстати в цикле я использовал свойство массива Leingth - это длинна массива, данное свойство можно было заменить на число 5(размер массива).
4. Пользователь заполняет массив сам
В этом способе так же использовался цикл for и метод Convert. Подробнее о методе можете прочитать здесь.
Двумерные массивы
Выше мы говорили только о одномерных массивах т.е. в массиве была 1 строка, а теперь давайте разберем двумерные массивы, популярным аналогом является матрица. Получается что в двумерном массиве есть столбцы и строки.
Объявления и инициализации двумерного массива:
Сейчас я создал двумерный массив "матрицу" 3х3.
Заполнять двумерный массив нужно так же с помощью циклов, единственное отличие в том, что нам понадобятся 2 цикла: для того, чтобы перебрать строки и столбцы:
Хочется подчеркнуть что вместо свойства Leingth в двумерном массиве я использую свойства GetLength(0) и GetLength(1).
Дело в том, что двумерный массив состоит из 2-х измерений: строк и столбцов. Тогда вызов array.GetLength(0) возвращает длину массива в его первом измерении (то есть количество строк), а array.GetLength(1) возвращает длину массива во втором измерении (то есть количество столбцов).
Вывод массива
Вывод в консоль одномерного массива очень схож с его заполнением, мы так же используем цикл for:
На выводе получаем наш массив:
А вот с двумерным массивом чуть интереснее, для того чтобы он красиво выводился в виде матрицы делаем так:
И получаем на выводе матрицу:
Объект Random
Объект Random в C# представляет собой класс, который используется для генерации псевдослучайных чисел. Синтаксис выглядит следующем образом:
Для использования объекта и создания случайных чисел нужно использовать метод Next(). Этот метод возвращает случайное целое число в заданном диапазоне. Можно указать только верхнюю границу или задать и нижнюю, и верхнюю границы. Пример:
Здесь я задал верхнюю и нижнюю границу - от 1 до 10.
Самостоятельное задание: написать матрицу состоящею только из четных чисел. В качестве ввода чисел использовать объект Random с диапазоном от 1 до 10.