Разлики между списъка 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:
- Списъкът е изграден в горната част на Array, докато Array е структура от данни от по-ниско ниво.
- Списък се изпраща под формата на API в C # с родител като колекция клас, докато Array е структура от данни от по-ниско ниво със собствени специфични свойства.
- Списъкът не е базиран на индекс, базиран на концепцията за възлите, докато масивите са базирани на индекс структури от данни с най-нисък адрес се предоставя на първия елемент, а най-високият адрес се предоставя на последния елемент в масива.
- Списъкът е динамичен по своя характер, т.е. размерът им автоматично се увеличава с повече вмъкване на елементи, докато масивите са с фиксирана структура, след като инициализирането им не може да бъде възстановено.
- Списъкът е по-добър за често вмъкване и изтриване, докато масивите са много по-подходящи за сценарий на чест достъп до елементи.
- Списъкът заема много повече памет, тъй като всеки определен дефиниран списък има свой набор от памет, докато масивите са структура на данни с ефективна памет.
- Списък е извлечен от Collection, който съдържа по-общ тип данни, докато Array е фиксиран и съхранява по-силен тип данни.
- Списъкът съдържа възли, които имат места в паметта, не трябва да бъде съседен по своята същност, докато Array съдържа елементи с тяхното местоположение в паметта, които са съседни по своята същност.
- Несвързаното свойство на List ги кара да отнемат повече време за достъп до елементите, докато съседното свойство на Array ги прави високоефективни за достъп до елементите.
- Избройте генеричните лостове, по същество това е безопасна за тип версия на ArrayList и генерира грешка във времето за компилиране, докато Arrays със своя тип безопасен, високоефективен по отношение на скорост и производителност, поддържа множество измерения.
Сравнете главата до главата между C # List и Array
По-долу е най-горното сравнение между C # List и Array
Основа на сравнението между C # List и масив | списък | Array |
създаване | Построен на върха на масива | Оригинална структура на данните, базирана на индексна концепция |
памет | Заемете повече памет от Array | Memory-ефективно |
дължина | Дължината варира | Дължина с фиксиран размер |
употреба | Често поставяне и изтриване | Честен достъп до елементи |
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 с инфографиката и таблицата за сравнение. Може да разгледате и следните статии -
- Списъци с масиви срещу списък на Java - ценни разлики
- Невероятно ръководство за C срещу Java
- Java Vector и ArrayList
- C # срещу Js - Страхотни разлики
- C # масив срещу списък: разлики
- Изискване срещу внос: Искате да знаете предимствата
- C срещу C #: Кои са най-добрите разлики
- C # vs JavaScript: Какви са функциите