Разлики между списъка C # срещу масива

Класът C # List представлява силно типизиран списък на обекти, до които може да се получи достъп чрез индекса, и той поддържа съхранение на стойности от конкретен тип без кастинг към или от обект.

Списък, където параметър T е типът елементи в списъка. Някои характеристики на списъка са дадени по-долу:

Добавете цели стойности в колекцията Списък:

Списък intList = нов списък ();

intL) ist.Add (2);

intList.Add (3);

intList.Add (4);

Добавете низови стойности в колекцията Списък:

Цветове на списъка = нов Списък ();

color.add („червено“);

color.add („бял“);

color.add („зелен“);

Извличане на елементи от колекция от списъка с помощта на цикъл:

foreach (низ на цвят в цветове) (

MessageBox.Show (цвят)

)

Масив съхранява последователна колекция от елементи от същия тип с фиксиран размер. Използва се за съхраняване на колекция от данни, но масивът може да се разглежда като съвкупност от променливи от същия тип, съхранявани на съседни места в паметта. Всички масиви се състоят от съседни места на паметта, като най-ниският адрес съответства на първия елемент, а най-високият - на последния.

Деклариране на масив в C #:

datatype () typeName; // DataType се използва за определяне на типа елементи в масива

Инициализиране на масив:

двоен () баланс = нов двоен (50);

Присвояване на стойности на масив:

двоен () баланс = (23.0, 34.56, 44.32);

Достъп до елементи на масив;

Foreach (стойност на int в баланс) (

Console.WriteLine („елементът е:“ + стойност);

)

Създайте и инициализирайте масив едновременно:

Int () стъпки = new int (6) (1, 2, 3, 4, 5, 6);

Копирайте променлива на масив в друга променлива на целевия масив:

Int () count = стъпки;

както целта, така и източника сочат към едно и също място в паметта

Сравнение от главата до главата между C # List и Array Infographics

По-долу са първите 8 разлики между C # List и Array

Ключови разлики между списъка C # срещу масива

И двете C # List срещу Array изпълнение са популярни решения на пазара; нека да обсъдим някои от основните разлики между C # List и Array:

  1. Списъкът е изграден в горната част на Array, докато Array е структура от данни от по-ниско ниво.
  2. Списък се изпраща под формата на API в C # с родител като колекция клас, докато Array е структура от данни от по-ниско ниво със собствени специфични свойства.
  3. Списъкът не е базиран на индекс, базиран на концепцията за възлите, докато масивите са базирани на индекс структури от данни с най-нисък адрес се предоставя на първия елемент, а най-високият адрес се предоставя на последния елемент в масива.
  4. Списъкът е динамичен по своя характер, т.е. размерът им автоматично се увеличава с повече вмъкване на елементи, докато масивите са с фиксирана структура, след като инициализирането им не може да бъде възстановено.
  5. Списъкът е по-добър за често вмъкване и изтриване, докато масивите са много по-подходящи за сценарий на чест достъп до елементи.
  6. Списъкът заема много повече памет, тъй като всеки определен дефиниран списък има свой набор от памет, докато масивите са структура на данни с ефективна памет.
  7. Списък е извлечен от Collection, който съдържа по-общ тип данни, докато Array е фиксиран и съхранява по-силен тип данни.
  8. Списъкът съдържа възли, които имат места в паметта, не трябва да бъде съседен по своята същност, докато Array съдържа елементи с тяхното местоположение в паметта, които са съседни по своята същност.
  9. Несвързаното свойство на List ги кара да отнемат повече време за достъп до елементите, докато съседното свойство на Array ги прави високоефективни за достъп до елементите.
  10. Избройте генеричните лостове, по същество това е безопасна за тип версия на ArrayList и генерира грешка във времето за компилиране, докато Arrays със своя тип безопасен, високоефективен по отношение на скорост и производителност, поддържа множество измерения.

Сравнете главата до главата между C # List и Array

По-долу е най-горното сравнение между C # List и Array

Основа на сравнението между C # List и масивсписъкArray
създаванеПостроен на върха на масиваОригинална структура на данните, базирана на индексна концепция
паметЗаемете повече памет от ArrayMemory-ефективно
дължинаДължината варираДължина с фиксиран размер
употребаЧесто поставяне и изтриванеЧестен достъп до елементи
ResizeСписъкът за промяна на размера е динамичен по своята същностПреоразмеряването на масиви е скъпо
структураНепрекъсната паметНепрекъснато място за памет
ИндексиранетоНеиндексна структураИндекс, базиран с най-ниския адрес като първи и най-високия адрес като последен
достъпДостъпният елемент отнема много време, въпреки че се основава на позиция на елементаДостъпният елемент е постоянна работа във времето, независимо от местоположението на елемента

Заключение - C # Списък срещу масив

И двата списъка C # срещу Array са различни видове, които имат различни възможности и съхраняват данните си по отделни начини. Тази възможност за съхранение и дизайн и на двете структури от данни на C # List срещу Array ги правят уникални по свои собствени начини. Масивът е фиксиран по размер и след като е разпределен, не може да добавя или премахва елементи от него, също всички елементи трябва да са от един и същи тип. По този начин е безопасна за тип и най-ефективна линейна структура на данни по отношение на скоростта и производителността. Също така, Array поддържа множество измерения. Списъкът предоставя по-общи възможности и се извлича от колекции API. За разлика от Array, те са динамични по своя характер, могат да преоразмеряват автоматично с често вмъкване и изтриване на елементи. По същество е безопасна за типа версия на структурата на данните на ArrayList. Характеристиката за безопасност на типа означава, че няма бокс или дебоксиране, което би повишило производителността и ако някой се опита да добави елемент от грешен тип, той ще генерира грешка във времето на компилиране.

Изпълнението на C # List срещу Array е линейна структура на данни, която е много подходяща за различни сценарии. Ако се появят чести вмъкване и изтриване и в същото време паметта не е ограничение, тогава List е идеален избор, докато в сценарии като честия достъп до необходимите елементи с ограничение на паметта, тогава Array е по-добра опция. Всичко зависи от случая и изискването за употреба. Масивът винаги е списък в природата, но списъкът не е масив. Масивът позволява и двата вида достъп, директен и последователен, докато List позволява само последователен достъп. И това е така, защото начинът, по който тези структури от данни се съхраняват в паметта. Тъй като List се извлича от Collection, той може да изпълнява различни изпълнения, една от тези реализации е ArrayList, който е клас, който реализира поведението на списъка, използвайки масиви като структура от данни. Един масив е много обвързан с хардуерната представа за непрекъсната, непрекъсната памет, като всеки елемент е идентичен по размер. И двете идеи за C # List и Array за подреждане се подреждат доста добре въз основа на сценарии. В края на деня всичко се свежда до изискването, въпреки че частта от паметта може да бъде безопасно странична линия в днешния свят, тъй като високата памет се е превърнала в норма.

Препоръчителен член

Това е ръководство за основните разлики между C # List и Array. Тук също обсъждаме клавишните разлики C # срещу Array с инфографиката и таблицата за сравнение. Може да разгледате и следните статии -

  1. Списъци с масиви срещу списък на Java - ценни разлики
  2. Невероятно ръководство за C срещу Java
  3. Java Vector и ArrayList
  4. C # срещу Js - Страхотни разлики
  5. C # масив срещу списък: разлики
  6. Изискване срещу внос: Искате да знаете предимствата
  7. C срещу C #: Кои са най-добрите разлики
  8. C # vs JavaScript: Какви са функциите