Vispārējā kolekcija ir klase, kas nodrošina tipa drošību, nenākot no bāzes kolekcijas tipa un neieviešot tipam specifiskus elementus. Nepatentēta kolekcija ir specializēta datu glabāšanas un izguves klase, kas nodrošina atbalstu skursteņiem, rindām, sarakstiem un jauktajiem failiem. galvenā atšķirība starp vispārīgo un nepatentēto kolekciju C # ir tas, ka vispārējā kolekcija tiek stingri tipizēta, savukārt ģenērisko kolekcija nav precīzi drukāta.
1. Pārskats un galvenās atšķirības
2. Kas ir ģenērisko zāļu kolekcija C #
3. Kas ir nepatentēta kolekcija C #
4. Generisko un nepatentēto kolekciju līdzības C #
5. Salīdzinājums blakus - vispārējs un nepatentēts krājums C # tabulas formā
6. Kopsavilkums
Nepatentētās kolekcijās, piemēram, ArrayList, Queue, Stack utt., Var saglabāt dažādu datu tipu elementus. Iegādājoties vienumus, programmētājam ir jāievada tips pareizajam datu tipam. Citādi tas var izraisīt izpildlaika izņēmumu. Šīs problēmas novēršanai var izmantot vispārējās kolekciju klases. Ģenērisko kolekciju elementi tiek glabāti iekšēji to faktisko tipu masīvā. Tāpēc veida liešana nav nepieciešama. Tos var izmantot noteikta veida vai veidu elementu glabāšanai. Dažas vispārīgo kolekciju klases ir saraksts, vārdnīca, SortedList, HashSet, rinda, kaudze .
GenericList satur noteikta veida elementus. Pievienojot elementus, tas var attiecīgi palielināt sarakstu. Ja ir šāds paziņojums, visiem elementiem, kurus var saglabāt sarakstā1, jābūt veseliem skaitļiem,
List list1 - jauns saraksts ();
Vispārējā vārdnīca C # ir atslēgu un vērtību kolekcija. Kad ir šāds paziņojums, objektu vārdnīcā1 var saglabāt int tipa atslēgas un virkņu tipa vērtības.
Vārdnīcas vārdnīca1 = jaunā vārdnīca ();
Kopējā kolekcijā SortedList pēc noklusējuma atslēgu un vērtību pāri tiek saglabāti atslēgu augošā secībā. Zemāk piemērs glabā int tipa atslēgu un virknes veida vērtību.
SortedList s0 = jauns SortedList ();
Šie ir daži piemēri ģenērisko zāļu kolekcijai C #. Šajās kolekcijās var saglabāt vairākas norādīto datu tipu vērtības. Tātad, tie ir ļoti tipizēti.
Masīvi var tikt izmantoti vairāku elementu glabāšanai. Viens trūkums ir tas, ka tajā var saglabāt viena un tā paša veida elementus. C # klasē ir klases, kuras var izmantot, lai saglabātu daudzas vērtības vai objektus, kas pazīstami kā kolekcijas. Kolekcijas palīdz objektus glabāt, atjaunināt, dzēst, meklēt, kārtot. Kolekcijas lielumu var dinamiski palielināt vai samazināt.
Dažas nepatentētas kolekcijas klases ir ArrayList, SortedList, Stack, Queue un HashTable. Katra kolekcijas klase ievieš neskaitāmo saskarni. Tas palīdz atkārtot kolekcijas priekšmetu elementus, izmantojot foreach cilpu.
ArrayList ir alternatīva masīvam. Ja ir masīvs, kurā var saglabāt 10 elementus, tas nevar saglabāt 20 elementus. Ja masīvs tiek inicializēts līdz 10 elementiem, bet tajā tiek glabāti tikai 5 elementi, pārējais netiek izmantots. Tāpēc masīvs ir fiksēts. ArrayList ir iespējams pievienot vai noņemt elementus atkarībā no indeksa. Tas ļauj dinamiski sadalīt atmiņu. Kārtošanas metodi var izmantot, lai kārtotu elementus augošā secībā.
HashTable tiek izmantots, lai attēlotu galveno vērtību pāru kolekciju. Tie tiek organizēti, pamatojoties uz atslēgas hashCode. Tāpēc katram elementam ir atslēgu vērtību pāris. Atslēgu var izmantot, lai piekļūtu noteiktam kolekcijas elementam. Stack apzīmē pēdējo piekļuvi vienumiem, vispirms izejot no vienumiem. Rinda tiek izmantota, lai vispirms piekļūtu vienumiem. Tās ir dažas no nepatentētām kolekcijām, kuras atbalsta C #. Šajās kolekcijās var glabāt dažādu veidu elementus.
Generic vs Generic kolekcija C # | |
Vispārējā kolekcija ir klase, kas nodrošina tipa drošību, nenākot no bāzes kolekcijas tipa un neieviešot tipam specifiskus elementus. | Nepatentēta kolekcija ir specializēta datu glabāšanas un izguves klase, kas nodrošina atbalstu skursteņiem, rindām, sarakstiem un hash tabulām. |
Vārdu telpa | |
Vispārējās kolekcijas klases ir sistēmā. Kolekcijas. Generisko vārdu telpa. | Neģenērisko kolekciju klases ir sistēmā. Kolekciju nosaukumvieta. |
Veids | |
Vispārīga kolekcija ir stingri tipizēta. | Kolekcija, kas nav vispārīga, nav precīzi ierakstīta. |
Elementu glabāšana | |
Vispārējās kolekcijas elementus iekšēji glabā to faktisko tipu masīvos. | Nepatentētās kolekcijas elementus iekšēji glabā objektu masīvā, lai tajā varētu saglabāt jebkura veida datus. |
Šajā rakstā tika apskatīta atšķirība starp vispārējo kolekciju un nepatentēto kolekciju C #. Atšķirība starp ģenērisko kolekciju un nepatentēto kolekciju ir tāda, ka ģenērisko zāļu kolekcija tiek stingri tipizēta, savukārt nepatentētā kolekcija nav precīzi drukāta.
1. “Kad lietot vispārējās kolekcijas”. Microsoft dokumenti. Pieejams šeit
2. “Generic kolekcija C #.” TutorialsTeacher.com. Pieejams šeit
3. “C # kolekcija:” kolekcija C #, TutorialsTeacher.com. Pieejams šeit
4. “C # kolekcijas.”, Konsultāciju punkts, 2018. gada 19. marts. Pieejams šeit
1.'Logo C Sharp'By Microsoft (publiskais īpašums), izmantojot Commons Wikimedia