Различия между списком C # и массивом
Класс C # List представляет строго типизированный список объектов, к которым индекс может получить доступ, и он поддерживает сохранение значений определенного типа без приведения к объекту или из него.
Список, где параметр T - это тип элементов в списке. Некоторые особенности Списка приведены ниже:
Добавьте целочисленные значения в коллекцию List:
List intList = new List (); intL) ist.Add (2); intList.Add (3); intList.Add (4); Добавьте строковые значения в коллекцию List: Цвета списка = новый список (); colors.add («красный»); colors.add («белый»); colors.add («зеленый»); Получить элементы из коллекции List с помощью цикла for: foreach (цвет строки в цветах) ( MessageBox.Show (цвет) ) |
В массиве хранится последовательная коллекция фиксированного размера элементов одного типа. Он используется для хранения коллекции данных, но массив можно рассматривать как коллекцию переменных одного типа, хранящихся в смежных местах памяти. Все массивы состоят из смежных областей памяти, причем самый низкий адрес соответствует первому элементу, а самый высокий адрес - последнему элементу.
Объявите массив в C #:
datatype () typeName; // DataType используется для указания типа элементов в массиве Инициализация массива: двойной () баланс = новый двойной (50); Присвоение значений массиву: double () остаток = (23, 0; 34, 56; 44, 32); Доступ к элементам массива; Foreach (значение int в балансе) ( Console.WriteLine («элемент:» + значение); ) Создайте и инициализируйте массив одновременно: Int () steps = new int (6) (1, 2, 3, 4, 5, 6); Скопируйте переменную массива в другую целевую переменную массива: Int () count = steps; и цель, и источник указывают на одну и ту же область памяти |
Сравнение лицом к лицу между C # List и Array Infographics
Ниже приведены 8 лучших отличий между C # List и Array.
Ключевые различия между C # List и Array
Обе версии C # List и Array являются популярным выбором на рынке; Давайте обсудим некоторые основные различия между C # List и Array:
- Список построен в верхней части массива, в то время как массив массив данных более низкого уровня.
- Список поставляется в виде API в C # с родителем в качестве класса Collection, тогда как Array - это структура данных более низкого уровня со своими собственными специфическими свойствами.
- Список не основывается на индексах, основываясь на концепции узлов, в то время как массивы являются структурами данных на основе индексов, причем самый низкий адрес предоставляется первому элементу, а самый высокий адрес предоставляется последнему элементу в массиве.
- Списки имеют динамический характер, то есть их размер автоматически увеличивается с увеличением количества вставляемых элементов, в то время как массивы имеют фиксированную структуру размера, после инициализации их нельзя сбросить.
- Список лучше подходит для частой вставки и удаления, тогда как массивы гораздо лучше подходят для сценария частого доступа к элементам.
- Список занимает гораздо больше памяти, так как каждый узел, определенный в Списке, имеет свой собственный набор памяти, тогда как Массивы - это структура данных с эффективным использованием памяти.
- Список получен из коллекции, которая содержит более общий тип данных, тогда как массив является фиксированным и хранит более строгий тип данных.
- Список содержит узлы, которые имеют области памяти, не обязательно должны быть смежными по природе, тогда как Array содержит элементы с их местоположением в памяти, которые являются смежными по природе.
- Несмежное свойство List заставляет их занимать больше времени при доступе к элементам, тогда как непрерывное свойство Array делает их высокоэффективными для доступа к элементам.
- Перечислите универсальные списки, это в основном типобезопасная версия ArrayList и генерирует ошибку во время компиляции, в то время как массивы с их типобезопасным, высокоэффективным с точки зрения скорости и производительности, поддерживают несколько измерений.
Сравнение лицом к лицу между C # List и Array
Ниже приведено самое лучшее сравнение между C # List и Array.
Основа сравнения между C # List и Array | Список | массив |
Творчество | Построен на вершине массива | Исходная структура данных, основанная на концепции индекса |
Память | Занимать больше памяти, чем массив | Память эффективных |
длина | Длина варьируется | Длина фиксированного размера |
использование | Частые вставки и удаления | Частый доступ к элементам |
Изменение размера | Изменение размера списка носит динамический характер | Изменение размеров массивов стоит дорого |
Структура | Несмежная память | Непрерывное расположение памяти |
индексирование | Неиндексированная структура | Индекс на основе самого низкого адреса в качестве первого и самого высокого адреса в качестве последнего |
Доступ | Элемент доступа занимает много времени, хотя основывается на позиции элемента | Элемент доступа является постоянной функцией независимо от местоположения элемента. |
Вывод - список C # против массива
Оба C # List vs Array являются разными типами, имеют разные возможности и хранят свои данные по-разному. Эти возможности хранения и дизайн структур данных C # List и Array делают их уникальными по-своему. Массив имеет фиксированный размер и после его выделения нельзя добавлять или удалять элементы из него, также все элементы должны быть одного типа. Таким образом, это типобезопасная и наиболее эффективная линейная структура данных с точки зрения скорости и производительности. Кроме того, массив поддерживает несколько измерений. Список предоставляет более общие возможности и получен из API-интерфейсов Collection. В отличие от Array, они динамичны по своей природе, могут изменять размеры автоматически при частой вставке и удалении элементов. По сути, это типобезопасная версия структуры данных ArrayList. Функция обеспечения безопасности типов означает, что не будет упаковок или распаковок, которые повысят производительность, и если кто-либо попытается добавить элемент неправильного типа, он выдаст ошибку во время компиляции.
C # List vs Array performance - это линейная структура данных, которая хорошо подходит для различных сценариев. Если происходят частые вставки и удаления, и в то же время память не является ограничением, то List является идеальным выбором, тогда как в сценариях, таких как частый доступ к элементам, требующим ограничения памяти, лучше использовать Array. Все зависит от варианта использования и требований. Массив всегда является списком по своей природе, но список не является массивом. Массив допускает оба вида доступа, прямой и последовательный, в то время как список разрешает только последовательный доступ. И это потому, что эти структуры данных хранятся в памяти. Поскольку List является производным от Collection, он может иметь различные реализации, одной из этих реализаций является ArrayList, который представляет собой класс, который реализует поведение List с использованием массивов в качестве структуры данных. Массив очень сильно связан с аппаратным понятием непрерывной непрерывной памяти, каждый элемент которого идентичен по размеру. Обе идеи C # List и Array соответствуют друг другу довольно хорошо, в зависимости от сценариев. В конце концов, все сводится к требованию, хотя часть памяти может быть в безопасности в современном мире, так как высокая память стала нормой.
Рекомендуемая статья
Это было руководство к основным различиям между C # List и Array. Здесь мы также обсудим различия между C # List и Array с помощью инфографики и таблицы сравнения. Вы также можете взглянуть на следующие статьи -
- Списки массивов и список Java - существенные различия
- Удивительное руководство по C против Java
- Java Vector и ArrayList
- C # против Js - удивительные различия
- C # Array vs List: различия
- Требовать против импорта: хотите знать преимущества
- C против C #: каковы лучшие различия
- C # против JavaScript: каковы особенности