Используем Length для инициализации массива kvadrat



Лабораторная работа №4

Массивы в C#

Массив задает способ организации данных. Массивом называют упорядоченную совокупность элементов одного типа. Каждый элемент массива имеет индексы, определяющие порядок элементов. Число индексов характеризует размерность массива. Каждый индекс изменяется в некотором диапазоне [a,b]. В языке C#, как и во многих других языках, индексы задаются целочисленным типом. Диапазон [a,b] называется граничной парой, a-нижней границей, b-верхней границей индекса. При объявлении массива границы задаются выражениями. Если все границы заданы константными выражениями, то число элементов массива известно в момент его объявления и ему может быть выделена память еще на этапе трансляции. Такие массивы называются статическими. Если же выражения, задающие границы, зависят от переменных, то такие массивы называются динамическими, поскольку память им может быть отведена только динамически в процессе выполнения программы, когда становятся известными значения соответствующих переменных.

Массиву выделяется непрерывная область памяти. В C# массивы -динамические. При написании программ, можно создавать одномерные, многомерные массивы и массивы массивов.

 

Одномерные массивы

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

<тип>[] <имя массива>;

Квадратные скобки приписаны не к имени переменной, а к типу. Они являются неотъемлемой частью определения класса, так что, например, запись int[] следует понимать как класс одномерный массив с элементами типа int.

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

Как и в случае объявления простых переменных, при объявлении массива одновременно может быть проведена и инициализация. Нужно понимать, что при объявлении с отложенной инициализацией сам массив не формируется, а создается только ссылка на массив, имеющая неопределенное значение Null. Поэтому пока массив не будет реально создан и его элементы инициализированы, использовать его в вычислениях нельзя.

Пример объявления трех массивов с отложенной инициализацией:

int[] a, b, c;

Чаще всего при объявлении массива используется имя с инициализацией. Как и в случае простых переменных, могут быть два варианта инициализации.

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

double[] x= {5.5, 6.6, 7.7};

Следуя синтаксису, элементы константного массива следует заключать в фигурные скобки.

Во втором случае создание и инициализация массива выполняется в объектном стиле с вызовом конструктора массива. И это наиболее распространенная практика объявления массивов:

int[] d= new int[5];

Если массив объявляется без инициализации, то создается только ссылка на него. Если инициализация выполняется конструктором, то в динамической памяти создается сам массив, элементы которого инициализируются константами соответствующего типа (ноль для арифметики, пустая строка для строковых массивов), и ссылка связывается с этим массивом. Если массив инициализируется константным массивом, то в памяти создается константный массив, с которым и связывается ссылка.

Варианты описания одномерного массива:

тип[] имя;

тип[] имя = new тип [ размерность ];

тип[] имя = { список_инициализаторов };

тип[] имя = new тип [] { список_инициализаторов };

тип[] имя = new тип [ размерность ] { список_инициализаторов };

Примеры описаний (один пример на каждый вариант описания):

int[] a;                               // 1 элементов нет

int[] b = new int[4];                  // 2 элементы равны 0

int[] c = { 61, 2, 5, -9 };            // 3 new подразумевается

int[] d = new int[] { 61, 2, 5, -9 };  // 4 размерность вычисляется

int[] e = new int[4] { 61, 2, 5, -9 }; // 5 избыточное описание

 

int k[];      //Неверно!

int k[3];   //Неверно!

int[3] k;   //Неверно!

В C# нумерация элементов массива начинается с нуля.

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

Пример 1. Демонстрирует размещение чисел от 0 до 9 в массиве mas.

Public static void Main()

{

int[ ] mas = new int[10];

Int i ;    

for (i = 0 ; i < 10; i = i+1) mas[i] = i;

for (i = 0 ; i < 10; i = i+1) Console.WriteLine("mas[" + i + "] : " + mas[i]);

}

Так как массивы реализованы как объекты, то с каждым массивом связано свойство Length, содержащее количество элементов, которое может хранить массив. Поскольку каждый массив сопровождается информацией о собственной длине, то используя эту информацию можно отслеживать размер массива не «вручную». Следует иметь в виду, что свойство Length никак не связано с реально используемым количеством элементов массива. Оно содержит количество элементов, которое массив способен хранить.

Пример 2. Демонстрирует использование свойства Length. Цикл for использует свойство Length для управления количеством итераций.

Console . Title – свойство, которое возвращает или задает заголовок для отображения в строке заголовка консоли.

Public static void Main()

{

Console.Title = " Квадраты чисел ";

int[] kvadrat = new int[10];

Console.WriteLine (" Длина массива kvadrat равна " + kvadrat.Length);

Используем Length для инициализации массива kvadrat

for (int i = 0; i < kvadrat.Length; i++) kvadrat[i] = i * i;


Дата добавления: 2020-11-15; просмотров: 102; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!