Logo pl.removalsclassifieds.com

Różnica między ArrayList i Array w C# (z tabelą)

Spisu treści:

Anonim

W języku C# najczęściej używane typy danych to array i ArrayList. Tablica jest podstawową funkcjonalnością języka programowania C#, podczas gdy Arraylist w C# jest kolekcją.

Zarówno Array, jak i ArrayList służą do przechowywania danych i nie ma ograniczeń dotyczących przechowywania żadnego typu danych.

ArrayList a tablica w C#

Różnica między Array i ArrayList polega na tym, że tablica przechowuje dane tego samego typu danych, podczas gdy listy tablic mogą przechowywać dane o różnych typach danych.

Aby uzyskać dostęp do danych z ArrayList, należy je zapętlić za pomocą obiektu, podczas gdy w tablicy można łatwo uzyskać do nich dostęp bez żadnego obiektu.

Tabela porównawcza między ArrayList i Array w C# (w formie tabelarycznej)

Parametr porównania Lista tablic Szyk
Rodzaj ArrayList jest typu nieogólnego Tablica jest silnie wpisana. Można przechowywać tylko wartości tego samego typu danych
Liczba elementów Jest dynamiczny, więc można przechowywać dowolną liczbę typów danych Można dodać tylko ustaloną liczbę elementów
wydajność Pogorsza wydajność, ponieważ używane jest boksowanie i rozpakowywanie Ma lepszą wydajność.
Wartość NULL Może zaakceptować wartość NULL to nie
Klasa Używa klasy statycznej Używa przestrzeni nazw System.collection

Co to jest ArrayList w C#?

Listy tablic są inicjowane za pomocą interfejsu list. Jest uważany za jeden z najbardziej elastycznych danych w języku C3. Kolekcja w językach programowania to specjalna klasa, która przechowuje dane i umożliwia programistom pobieranie.

Przykład

Korzystanie z System.collection;

ArrayList a = new ArrayList();

a.dodaj(1, „cześć”);

a.dodaj(4);

dodaj(8.23);

a.dodaj(null);

Niektóre funkcje używane do interakcji z danymi przechowywanymi w arraylist.

Co to jest tablica w C#?

Tablica to typ danych, w którym programista może przechowywać dane tego samego typu io stałej długości. Wartości długości i danych nie można zmienić w czasie wykonywania. Wszystkim elementom tablicy podana jest wartość indeksu, a indeks tablicy ma wartość zero.

Stąd wartością domyślną jest zero indeksu dla pierwszego elementu tablicy. Składnia deklarowania i definiowania tablicy w C# jest następująca. Ponieważ tablica jest referencyjnym typem danych, jej pamięć jest alokowana w pamięci sterty.

Int[] array = new int[] { 10, 20, 30, 40};

10 20 30 40 danych

0 1 2 3 Indeksy

Kilka ważnych punktów dotyczących tablic.

Główne różnice między ArrayList i Array w C#

  1. Rozmiar tablicy jest stały i zawiera sekwencyjną kolekcję wszystkich elementów tego samego typu. Natomiast rozmiar listy tablic nie jest stały i wzrasta wraz z 2^n.
  2. Wymiar tablicy i każda długość wymiaru jest inicjowana podczas tworzenia tablicy. W czasie wykonywania nie ma możliwości zmiany wartości długości tablicy. W przypadku ArrayList wartość długości listy tablic może być zmieniana dynamicznie.
  3. Indeks pierwszego elementu w tablicy 0 i indeks ostatniego elementu to n-1, gdzie n jest długością rozmiaru tablicy.
  4. ArrayList zawiera elementy o różnych typach danych, natomiast array zawiera dane o podobnych typach danych. Na przykład, jeśli Array jest typu integer, w tablicy mogą być przechowywane tylko liczby całkowite.
  5. Array jest silnie typizowanym typem danych, a jego wydajność jest lepsza niż ArrayList. Ponieważ w Arraylist potrzebne jest rozpakowywanie i boksowanie, jest to mniej wydajne.
  6. Rozmiar ArrayList zwiększa się automatycznie, stąd należy podać dowolny rozmiar.

Wniosek

Array i Arraylist to typy danych, które umożliwiają programiście przechowywanie wielu elementów tego samego typu danych w Array i różnych typów danych na liście tablic. Różni programiści używają Arraylist, ponieważ Arraylist ma różne metody, których nie ma w żadnym innym typie danych, takim jak Repeat(), Reverse(), BinarySearch i wiele innych.

Array jest uważany za typ danych o stałym rozmiarze i można do niego łatwo uzyskać dostęp, podczas gdy w ArrayList należy użyć obiektu i użyć operatora kropki, aby uzyskać dostęp do elementów przechowywanych w typie danych.

Cóż, jeśli programista musi przechowywać ten sam typ elementu i musi mieć stały rozmiar, powinien użyć tablicy, w przeciwnym razie należy użyć ArrayList.

Oba wykonują tę samą pracę polegającą na przechowywaniu elementów, ale główną różnicą jest stały rozmiar i dynamiczny rozmiar. Jeśli więc chcesz przechowywać różne typy danych, takie jak null, char lub dowolny inny, powinieneś użyć ArrayList, ponieważ jest to nieogólny typ danych.

Natomiast jeśli chcesz ograniczyć użytkownika do wstawiania różnych typów danych do struktury danych, należy użyć tablicy, ponieważ pozwala ona na wstawienie tylko tego samego typu danych do tablicy.

Różnica między ArrayList i Array w C# (z tabelą)