Учебники

C # — Массивы

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

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

Все массивы состоят из смежных областей памяти. Самый низкий адрес соответствует первому элементу, а самый высокий адрес — последнему.

Массивы в C #

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

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

datatype[] arrayName;

где,

  • Тип данных используется для указания типа элементов в массиве.

  • [] определяет ранг массива. Ранг определяет размер массива.

  • arrayName указывает имя массива.

Тип данных используется для указания типа элементов в массиве.

[] определяет ранг массива. Ранг определяет размер массива.

arrayName указывает имя массива.

Например,

double[] balance;

Инициализация массива

Объявление массива не инициализирует массив в памяти. Когда переменная массива инициализируется, вы можете присвоить значения массиву.

Массив является ссылочным типом, поэтому вам нужно использовать ключевое слово new для создания экземпляра массива. Например,

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];

В следующем примере демонстрируются декларация вышеупомянутых концепций, присваивание и доступ к массивам —

Live Demo

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 для перебора массива.

Live Demo

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, он является базовым классом для всех массивов и предоставляет различные свойства и методы для работы с массивами.