Diferența cheie - Colecție generică vs non-generică în C #
O colecție generică este o clasă care oferă siguranță de tip, fără a fi nevoie să derive dintr-un tip de colecție de bază și să implementeze membri specifici tipului. O colecție non-generică este o clasă specializată pentru stocarea și recuperarea datelor care oferă suport pentru stive, cozi, liste și hashtables. Diferența cheie între colecția generică și non-generică din C # este că o colecție generică este puternic tastată, în timp ce o colecție non-generică nu este puternic tastată.
CUPRINS
1. Prezentare generală și diferența cheie
2. Ce este colecția generică în C #
3. Ce este colecția non-generică în C #
4. Asemănări între colecția generică și non-generică în C #
5. Comparație side by side - Colecție generică vs non-generică în C # în formă tabelară
6. Rezumat
Ce este Colecția generică în C #?
Colecțiile non-generice, cum ar fi ArrayList, Queue, Stack etc., pot stoca elemente de diferite tipuri de date. La obținerea articolelor, programatorul ar trebui să introducă tipul de date corect. Altfel, poate provoca o excepție în timpul rulării. Clasele de colectare generice pot fi utilizate pentru a depăși această problemă. Colecțiile generice stochează elemente intern în matrici de tipurile lor reale. Prin urmare, turnarea de tip nu este necesară. Ele pot fi utilizate pentru a stoca elemente de tipul sau tipurile specificate. Unele clase de colecție generice sunt List, Dictionary, SortedList, HashSet, Queue, Stack.
Lista generică conține elemente de tip specificat. Poate crește lista în mod corespunzător atunci când adaugă elemente. Când există o declarație după cum urmează, toate elementele care pot fi stocate în lista1 ar trebui să fie numere întregi, List list1 - Listă nouă ();
Dicționarul generic din C # este o colecție de chei și valori. Când există o declarație după cum urmează, obiectul dictionary1 poate stoca chei de tip int și valori de tip șir.
Dicționar dicționar1 = dicționar nou ();
O colecție Generic SortedList stochează în mod implicit perechile de chei și valori în ordine crescătoare a cheii. Exemplul de mai jos stochează cheia de tip int și valoarea tipului de șir.
SortedList s0 = new SortedList ();
Acestea sunt câteva exemple pentru Colecția generică în C #. Aceste colecții pot stoca valori multiple ale tipurilor de date specificate. Deci, sunt puternic tastate.
Ce este colecția non-generică în C #?
Tablourile pot fi utilizate pentru a stoca mai multe elemente. Un dezavantaj este că poate stoca elemente de același tip de date. Există clase în C # care pot fi folosite pentru a stoca multe valori sau obiecte cunoscute sub numele de colecții. Colecțiile ajută la stocarea, actualizarea, ștergerea, căutarea, sortarea obiectelor. Dimensiunea colecției poate fi mărită sau scăzută dinamic.
Unele clase de colecție non-generice sunt ArrayList, SortedList, Stack, Queue și HashTable. Fiecare clasă de colecție implementează interfața IEnumerable. Vă ajută să parcurgeți elementele articolelor din colecție folosind bucla foreach.
ArrayList este o alternativă la o matrice. Dacă există o matrice care poate stoca 10 elemente, nu poate stoca 20 de elemente. Dacă tabloul inițializat la 10 elemente, dar stochează doar 5 elemente, atunci restul nu este folosit. Prin urmare, o matrice este fixă. Într-o listă Array, este posibil să adăugați sau să eliminați elemente în funcție de index. Permite alocarea dinamică a memoriei. Metoda de sortare poate fi utilizată pentru a sorta elementele în ordine crescătoare.
HashTable este utilizat pentru a reprezenta o colecție de perechi de valori cheie. Acestea sunt organizate pe baza codului hash al cheii. Prin urmare, fiecare element are o pereche de valori cheie. Cheia poate fi utilizată pentru a accesa un anumit element din colecție. Stiva reprezintă ultimul acces la articole. Coada este utilizată pentru accesul primelor elemente în primul rând. Acestea sunt câteva dintre colecțiile non-generice acceptate de C #. Aceste colecții pot stoca elemente de diferite tipuri.
Care este asemănarea dintre colecția generică și non-generică în C #?
Atât Colecția generică, cât și cea non-generică pot fi utilizate pentru a stoca mai multe elemente în C #
Care este diferența dintre colecția generică și cea non-generică din C #?
Difuzarea articolului din mijloc înainte de tabel
Colecție generică vs non-generică în C # |
|
O colecție generică este o clasă care oferă siguranță de tip, fără a fi nevoie să derive dintr-un tip de colecție de bază și să implementeze membri specifici tipului. | O colecție non-generică este o clasă specializată pentru stocarea și recuperarea datelor care oferă suport pentru stive, cozi, liste și tabele hash. |
Spațiu de nume | |
Clasele Generic Collection sunt în sistem. Colecții. Spațiu de nume generic. | Clasele Colecției nongenerice se află în Sistem. Spațiul de nume al colecțiilor. |
Tip | |
O colecție generică este puternic tastată. | O colecție non-generică nu este puternic tastată. |
Stocarea elementelor | |
Colecțiile generice stochează elemente intern în matrici de tipurile lor reale. | Colecțiile non-generice stochează elemente intern în matrici de obiecte, astfel încât să poată stoca orice tip de date. |
Rezumat - Colecție generică vs non-generică în C #
Acest articol a discutat despre diferența dintre colecția generică și non-generică în C #. Diferența dintre colecția generică și non-generică este că o colecție generică este puternic tastată în timp ce o colecție non-generică nu este puternic tastată.