Kluczowa różnica - kolekcja ogólna kontra nieogólna w języku C #
Kolekcja ogólna to klasa, która zapewnia bezpieczeństwo typów bez konieczności wyprowadzania z podstawowego typu kolekcji i implementowania elementów członkowskich specyficznych dla typu. Kolekcja nieogólna to wyspecjalizowana klasa do przechowywania i pobierania danych, która zapewnia obsługę stosów, kolejek, list i tabel skrótów. Kluczowa różnica między kolekcją ogólną i nieogólną w C # polega na tym, że kolekcja ogólna jest silnie wpisana, podczas gdy kolekcja nieogólna nie jest silnie wpisana.
ZAWARTOŚĆ
1. Omówienie i kluczowa różnica
2. Co to jest kolekcja ogólna w języku C #
3. Co to jest kolekcja nieogólna w języku C #
4. Podobieństwa między kolekcją ogólną i nieogólną w języku C #
5. Porównanie obok siebie - kolekcja ogólna i nieogólna w C # w formie tabelarycznej
6. Podsumowanie
Co to jest kolekcja ogólna w języku C #?
Kolekcje nieogólne, takie jak ArrayList, Queue, Stack itp., Mogą przechowywać elementy różnych typów danych. Podczas uzyskiwania elementów programista powinien rzutować je na właściwy typ danych. W przeciwnym razie może spowodować wyjątek w czasie wykonywania. Aby rozwiązać ten problem, można użyć ogólnych klas kolekcji. Kolekcje ogólne przechowują elementy wewnętrznie w tablicach ich rzeczywistych typów. Dlatego rzutowanie typów nie jest wymagane. Mogą służyć do przechowywania elementów określonego typu lub typów. Niektóre ogólne klasy kolekcji to List, Dictionary, SortedList, HashSet, Queue, Stack.
GenericList zawiera elementy określonego typu. Może odpowiednio zwiększyć listę podczas dodawania elementów. W przypadku następującego oświadczenia wszystkie elementy, które można zapisać na liście1, powinny być liczbami całkowitymi, Lista lista1 - nowa Lista ();
Słownik ogólny w języku C # to zbiór kluczy i wartości. Gdy istnieje instrukcja w następujący sposób, słownik obiektów może przechowywać klucze typu int i wartości typu łańcuchowego.
Dictionary Dictionary1 = new Dictionary ();
Kolekcja Generic SortedList domyślnie przechowuje pary klucza i wartości w kolejności rosnącej według klucza. Poniższy przykład przechowuje klucz typu int i wartość typu string.
SortedList s0 = new SortedList ();
Oto kilka przykładów kolekcji ogólnej w języku C #. Te kolekcje mogą przechowywać wiele wartości określonych typów danych. Więc są silnie wpisane.
Co to jest kolekcja nieogólna w języku C #?
Tablice mogą służyć do przechowywania wielu elementów. Jedną z wad jest to, że może przechowywać elementy tego samego typu danych. Istnieją klasy w C #, które mogą służyć do przechowywania wielu wartości lub obiektów znanych jako kolekcje. Kolekcje pomagają przechowywać, aktualizować, usuwać, wyszukiwać, sortować obiekty. Rozmiar kolekcji można dynamicznie zwiększać lub zmniejszać.
Niektóre nieogólne klasy Collection to ArrayList, SortedList, Stack, Queue i HashTable. Każda klasa kolekcji implementuje interfejs IEnumerable. Pomaga iterować przez elementy elementów w kolekcji przy użyciu pętli foreach.
ArrayList jest alternatywą dla tablicy. Jeśli istnieje tablica, która może przechowywać 10 elementów, nie może przechowywać 20 elementów. Jeśli tablica została zainicjowana do 10 elementów, ale przechowuje tylko 5 elementów, reszta nie jest używana. Dlatego tablica jest naprawiona. W ArrayList można dodawać lub usuwać elementy w zależności od indeksu. Umożliwia dynamiczną alokację pamięci. Metoda sortowania może służyć do sortowania elementów w kolejności rosnącej.
HashTable służy do reprezentowania kolekcji par klucz-wartość. Są zorganizowane na podstawie hashCode klucza. Dlatego każdy element ma parę klucz-wartość. Klucz może służyć do uzyskiwania dostępu do określonego elementu w kolekcji. Stos reprezentuje dostęp do przedmiotów jako ostatni wchodzący, pierwszy wychodzący. Kolejka jest używana do pierwszego dostępu do pozycji w pierwszej kolejności. Oto niektóre kolekcje nieogólne obsługiwane przez C #. Te kolekcje mogą przechowywać elementy różnych typów.
Jakie jest podobieństwo między kolekcją ogólną i nieogólną w języku C #?
Zarówno kolekcja ogólna, jak i nieogólna mogą służyć do przechowywania wielu elementów w języku C #
Jaka jest różnica między kolekcją ogólną i nieogólną w języku C #?
Porównaj środek artykułu przed tabelą
Kolekcja rodzajowa vs nieogólna w języku C # |
|
Kolekcja ogólna to klasa, która zapewnia bezpieczeństwo typów bez konieczności wyprowadzania z podstawowego typu kolekcji i implementowania elementów członkowskich specyficznych dla typu. | Kolekcja nieogólna to wyspecjalizowana klasa do przechowywania i pobierania danych, która zapewnia obsługę stosów, kolejek, list i tabel skrótów. |
Przestrzeń nazw | |
Klasy kolekcji ogólnej znajdują się w przestrzeni nazw System. Kolekcje. Przestrzeń nazw typów ogólnych. | Klasy kolekcji nieogenerycznej znajdują się w przestrzeni nazw System. Przestrzeń nazw kolekcji. |
Rodzaj | |
Kolekcja ogólna jest silnie wpisana. | Kolekcja nieogólna nie jest silnie wpisana. |
Przechowywanie elementów | |
Kolekcje ogólne przechowują elementy wewnętrznie w tablicach ich rzeczywistych typów. | Kolekcje nieogólne przechowują elementy wewnętrznie w tablicach obiektów, dzięki czemu mogą przechowywać dane dowolnego typu. |
Podsumowanie - kolekcja ogólna vs nieogólna w języku C #
W tym artykule omówiono różnicę między kolekcją ogólną i nieogólną w języku C #. Różnica między kolekcją ogólną i nieogólną polega na tym, że kolekcja ogólna jest silnie wpisana, podczas gdy kolekcja nieogólna nie jest silnie wpisana.