Массивы и списки: сравнение использования в C#

Massivy I Spiski Sravnenie Ispol Zovania V C



Массив в C# — это набор элементов с одинаковыми типами данных и определенным конкретным размером. Он представляет собой прилегающий участок памяти, в котором сохраняются элементы. Используя свой индекс, массивы в C# обеспечивают быстрый и простой произвольный доступ к своим членам. Список — это динамическая структура данных на языке программирования C#, представляющая группу компонентов одинакового типа. В отличие от массивов, списки могут динамически увеличиваться или уменьшаться в размерах, что позволяет эффективно добавлять, удалять и изменять элементы. В этой статье рассматриваются как сходства, так и различия между массивами C# и списками C#.

Декларация:

Массивы объявляются с использованием «type[] ArrayName;» синтаксис, где тип означает тип элементов в коллекции массива, а «ArrName» — это заголовок, присвоенный массиву. Объявление массива обозначается квадратными скобками [].

тип [ ] ИмяМассива '=' Новый тип [ ] ;

Списки объявляются с использованием «List LsName;» синтаксис, где тип представляет тип данных элементов в списке, а «LsName» — это имя, присвоенное списку. Угловые скобки указывают, что это объявление универсального типа.







Список < тип > имя списка '=' новый список < тип > ( ) ;

Инициализация:

В массивах для заключения значений используются фигурные скобки {}, а в списках используется новый конструктор List, за которым следуют фигурные скобки {} для заключения значений.



тип [ ] ИмяМассива '=' { v1 , v2 , v3 , ... } ;

Список < тип > имя списка '=' новый список < тип > { v1 , v2 , v3 , ... } ;

Добавление значений:

Очень важно помнить, что массивы C# имеют определенный размер. Если требуется другой размер, необходимо создать новый массив «newArr» желаемого размера (текущая длина + количество новых значений). Добавьте исходный массив «OrgArr» в новый массив, присвойте новые значения новым позициям в новом массиве и обновите ссылку на новый массив.



Множество. Копировать ( ОргАрр , новыйАрр , ОргАрр. Длина ) ;

новыйАрр [ ОргАрр. Длина ] '=' 14 ; // новое значение

новыйАрр [ ОргАрр. Длина + 1 ] '=' 2 ; // новое значение

ОргАрр '=' новыйАрр ; // Обновляем ссылку int[] NewArr = new int[OrgArr.Length + 2];

Списки обеспечивают гибкость в управлении размером. Когда список инициализируется, он начинается с начальной емкости, но может автоматически расширяться по мере добавления новых элементов. Возможность динамического изменения размера позволяет спискам адаптироваться к меняющимся требованиям. Списки C# предоставляют функцию Add() для добавления значений в список. Вот как можно добавлять значения в список C#:





Массивы против списков : Сравнение использования в C #

Доступ к значениям

Доступ к значениям в номерах массива осуществляется с использованием индексной записи [], т. е. с использованием номера индекса в скобках, и сохраняется в другой переменной.

тип элемента '=' ИмяМассива [ индекс ] ;

Чтобы получить доступ к значениям в списке C#, вы также можете использовать обозначение индекса [] вместе с желаемой позицией индекса, аналогично массивам.



тип элемента '=' ИмяСписка [ индекс ] ;

Удаление значений

Массивы имеют заданную длину. Поэтому для удаления элементов необходимо создать новый массив меньшего размера, а существующие элементы скопировать. Это можно сделать с помощью функции Array.Copy(), как описано в разделе «Добавление значений». В списках C# удаление значений намного проще и интуитивно понятнее. Класс List предоставляет метод «удалить», который позволяет удалить определенное значение из списка.

имя списка. Удалять ( элемент ) ;

Подсчитайте значения

Чтобы подсчитать значения в массиве C#, вы можете использовать атрибут длины массива. Свойство length дает общее количество значений в массиве.

интервал считать '=' имя массива. Длина ;

Чтобы подсчитать значения в списке C#, вы можете использовать функцию «подсчета» списка. Общее количество элементов, которые в данный момент находятся в списке, также возвращается атрибутом count.

интервал считать '=' имя списка. Считать ;

Повторите значения

Чтобы перебирать значения в массиве C#, вы можете использовать цикл for с длиной массива в качестве условия цикла.

для ( интервал я '=' 0 ; я < ИмяМассива. Длина ; я ++ ) {

тип е '=' имя массива [ я ] ;

Консоль. WriteLine ( Это ) ;

}

Чтобы перебирать значения в списке C#, вы можете использовать цикл foreach, поскольку он упрощает процесс итерации за счет автоматического перебора элементов.

для каждого ( введите e в listName ) {

Консоль. WriteLine ( Это ) ;

}

Пример 1: Массивы C#

Данный код объявляет и инициализирует целочисленный массив с именем «Arr» длиной 5 и присваивает значения его элементам. Элементам массива присвоены значения 11, 12, 13, 14 и 15. Затем код переходит к отображению элементов массива с использованием цикла «for». Каждый компонент отображается в отдельной строке с помощью метода Console.WriteLine().

После отображения исходных элементов код изменяет элемент с индексом 2, присваивая ему новое значение 10. Затем код отображает измененный массив, снова перебирая элементы с помощью цикла «for». Наконец, код отображает общее количество значений, находящихся в массиве, с помощью свойства Arr.Length, которое определяет длину массива.

используя систему ;

класс Манекен {

статический пустота Основной ( ) {

интервал [ ] Арр '=' новый интервал [ 5 ] { одиннадцать , 12 , 13 , 14 , пятнадцать } ;

Консоль. WriteLine ( «Элементы:» ) ;

для ( интервал я '=' 0 ; я < Приб. Длина ; я ++ )

{

Консоль. WriteLine ( Арр [ я ] ) ;

}

Арр [ 2 ] '=' 10 ;

Консоль. WriteLine ( «Измененный массив:» ) ;

для ( интервал я '=' 0 ; я < Приб. Длина ; я ++ )

{

Консоль. WriteLine ( Арр [ я ] ) ;

}

Консоль. WriteLine ( 'Количество элементов: ' + Приб. Длина ) ;

}

}

Пример 2: списки C#

Следующий предоставленный код демонстрирует использование списка C# для хранения коллекции целых чисел и управления ею. Сначала код инициализирует список с именем «Arr» пятью целыми числами: 11, 12, 13, 14 и 15. Это достигается с помощью класса List и его конструктора, а также синтаксиса инициализатора.

Затем программа печатает сообщение «Элементы:» и переходит к перебору каждого элемента в списке, используя цикл «foreach». Во время каждой итерации текущий элемент выводится на консоль с помощью метода Console.WriteLine().

После этого код изменяет значение по индексу 2 списка, присваивая ему значение 10 (Arr[2] = 10). Эта строка изменяет третий элемент в списке с 13 на 10. После изменения программа снова печатает сообщение «Измененный список:» и перебирает обновленный список, выводя каждый элемент на консоль. Затем код отображает количество значений в списке, используя «Arr.Count». Это свойство возвращает количество элементов, присутствующих в списке, которое в следующем сценарии равно 5.

Наконец, код удаляет элемент со значением 4 из списка с помощью метода Arr.Remove(4). Этот метод ищет указанное значение в списке и удаляет его первое вхождение. Наконец, программа печатает сообщение «Список после удаления:» и еще раз перебирает список, отображая каждый оставшийся элемент после операции удаления.

используя систему ;

с помощью системы. Коллекции . Общий ;

класс Манекен {

статический пустота Основной ( ) {

Список < интервал > Арр '=' новый список < интервал > ( ) { одиннадцать , 12 , 13 , 14 , пятнадцать } ;

Консоль. WriteLine ( «Элементы:» ) ;

для каждого ( интервал n в Арре )

{

Консоль. WriteLine ( н ) ;

}

Арр [ 2 ] '=' 10 ;

Консоль. WriteLine ( «Измененный список:» ) ;

для каждого ( интервал n в Арре )

{

Консоль. WriteLine ( н ) ;

}

Консоль. WriteLine ( 'Количество элементов: ' + Приб. Считать ) ;

Приб. Удалять ( 4 ) ;

Консоль. WriteLine ( 'Список после удаления:' ) ;

для каждого ( интервал n в Арре )

{

Консоль. WriteLine ( н ) ;

}

}

}

Заключение

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