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

Вместо объявления отдельных переменных, таких как number0, number1, ... и number99, вы объявляете одну переменную массива, такую ​​как числа, и используете числа [0], числа [1] и ..., числа [99] для представления отдельные переменные. К конкретному элементу массива обращается индекс.

Все массивы состоят из смежных областей памяти. Нижний адрес соответствует первому элементу и наивысшему адресу последнего элемента.

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

Чтобы объявить массив в C #, вы можете использовать следующий синтаксис:

datatype[] arrayName;

где,

  • 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

Использование Еогеасп Loop

В предыдущем примере мы использовали цикл 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 #

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

C # поддерживает многомерные массивы. Простейшей формой многомерного массива является двумерный массив.

Жесткие массивы

C # поддерживает многомерные массивы, которые являются массивами массивов.

Передача массивов в функции

Вы можете передать функции указателю на массив, указав имя массива без индекса.

Массивы параметров

Это используется для передачи неизвестного числа параметров функции.

Класс массива

Определенный в пространстве имен System, это базовый класс для всех массивов и предоставляет различные свойства и методы для работы с массивами.