С# — Массивы
Массив хранит последовательную коллекцию элементов одного типа фиксированного размера. Массив используется для хранения набора данных, но часто полезнее думать о массиве как о наборе переменных одного типа, хранящихся в смежных областях памяти.
Вместо объявления отдельных переменных, таких как число0, число1, ... и число99, вы объявляете одну переменную-массив, например числа, и используете числа[0], числа[1] и..., числа[99] для представления индивидуальные переменные. Доступ к определенному элементу массива осуществляется по индексу.
Все массивы состоят из смежных ячеек памяти. Самый низкий адрес соответствует первому элементу, а самый высокий адрес — последнему элементу.
Объявление массивов
Чтобы объявить массив в C#, вы можете использовать следующий синтаксис —
datatype[] arrayName;
где,
-
тип данных используется для указания типа элементов в массиве.
-
[ ] определяет ранг массива. Ранг определяет размер массива.
-
имя_массива указывает имя массива.
Например,
double[] balance;
Инициализация массива
Объявление массива не инициализирует массив в памяти. Когда переменная массива инициализирована, вы можете присваивать значения массиву.
Массив является ссылочным типом, поэтому вам нужно использовать новый ключевое слово для создания экземпляра массива. Например,
double[] balance = new double[10];
Присвоение значений массиву
Вы можете присвоить значения отдельным элементам массива, используя номер индекса, например -
double[] balance = new double[10]; balance[0] = 4500.0;
Вы можете присвоить значения массиву во время объявления, как показано —
double[] balance = { 2340.0, 4523.69, 3421.0};
Вы также можете создать и инициализировать массив, как показано —
int [] marks = new int[5] { 99, 98, 92, 97, 95};
Вы также можете опустить размер массива, как показано —
int [] marks = new int[] { 99, 98, 92, 97, 95};
Вы можете скопировать переменную массива в другую целевую переменную массива. В таком случае и цель, и источник указывают на одну и ту же ячейку памяти —
int [] marks = new int[] { 99, 98, 92, 97, 95}; int[] score = marks;
При создании массива компилятор C# неявно инициализирует каждый элемент массива значением по умолчанию в зависимости от типа массива. Например, для массива int все элементы инициализируются 0.
Доступ к элементам массива
Доступ к элементу осуществляется путем индексации имени массива. Это делается путем помещения индекса элемента в квадратные скобки после имени массива. Например,
double salary = balance[9];
В следующем примере демонстрируется объявление вышеупомянутых концепций, присвоение и доступ к массивам —
Живая демонстрацияusing System; namespace ArrayApplication { class MyArray { static void Main(string[] args) { int [] n = new int[10]; /* n is an array of 10 integers */ int i,j; /* initialize elements of array n */ for ( i = 0; i < 10; i++ ) { n[ i ] = i + 100; } /* output each array element's value */ for (j = 0; j < 10; j++ ) { Console.WriteLine("Element[{0}] = {1}", j, n[j]); } Console.ReadKey(); } } }
Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
Использование foreach Цикл
В предыдущем примере мы использовали цикл for для доступа к каждому элементу массива. Вы также можете использовать foreach оператор для перебора массива.
Живая демонстрацияusing System; namespace ArrayApplication { class MyArray { static void Main(string[] args) { int [] n = new int[10]; /* n is an array of 10 integers */ /* initialize elements of array n */ for ( int i = 0; i < 10; i++ ) { n[i] = i + 100; } /* output each array element's value */ foreach (int j in n ) { int i = j-100; Console.WriteLine("Element[{0}] = {1}", i, j); } Console.ReadKey(); } } }
Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
Массивы C#
Есть несколько важных концепций, связанных с массивом, которые должны быть понятны программисту на C# —
Серийный номер | Концепция и описание |
---|---|
1 | Многомерные массивы C# поддерживает многомерные массивы. Простейшей формой многомерного массива является двумерный массив.
|
2 | Неровные массивы C# поддерживает многомерные массивы, которые представляют собой массивы массивов.
|
3 | Передача массивов в функции Вы можете передать в функцию указатель на массив, указав имя массива без индекса.
|
4 | Массивы параметров Это используется для передачи неизвестного количества параметров в функцию.
|
5 | Класс массива Определенный в пространстве имен System, он является базовым классом для всех массивов и предоставляет различные свойства и методы для работы с массивами.
|
Язык C
- С# Массивы
- Зубчатый массив С#
- Передача массива в функцию в программировании на C++
- Передать массивы функции в C
- Связь между массивами и указателями
- Массивы копирования Java
- Массивы в C++ | Объявить | Инициализировать | Указатель на примеры массивов
- C++ динамическое выделение массивов с примером
- Учебное пособие по массивам Java:объявление, создание, инициализация [пример]
- MATLAB — Массивы