Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 17614|Răspunde: 1

[Comunicare] Exemplele generice în C# sunt explicate în detaliu

[Copiază linkul]
Postat pe 28.01.2019 16:03:40 | | | |
1. Ce este genericul?

Genericele sunt o sintaxă nouă introdusă în C# 2.0, nu zahărul sintaxei, ci caracteristici oferite de actualizările cadrului în 2.0.

Când programăm programe, întâlnim adesea module cu funcții foarte similare, dar care gestionează date diferite. Dar nu avem de ales decât să scriem mai multe metode separat pentru a gestiona diferite tipuri de date. În acest moment, întrebarea este: există o modalitate de a folosi aceeași metodă pentru a gestiona diferite tipuri de parametri? Apariția genericelor este concepută special pentru a rezolva această problemă.

2. De ce să folosești genericele

Să aruncăm o privire la următorul exemplu:
Rezultat:

Din rezultatele de mai sus, putem vedea că aceste trei metode au aceleași funcții, cu excepția parametrilor diferiți pe care îi transmit. La momentul versiunii 1.0, nu exista conceptul de generice, deci ce să faci. Cred că mulți oameni se vor gândi la moștenirea uneia dintre cele trei caracteristici majore ale OOP, știm că în C#, object este clasa de bază a tuturor tipurilor, iar codul de mai sus este optimizat astfel:
Rezultat:

Din rezultatele de mai sus, putem vedea că folosirea tipului Object îndeplinește cerințele noastre și rezolvă reutilizarea codului. Unii oameni s-ar putea întreba de ce este posibil să treci int, string etc. când este definit ca un tip de obiect? Există două motive:

1. Tipul obiectului este clasa părinte a tuturor tipurilor.

2. Prin moștenire, subclasele au toate atributele și comportamentele clasei părinte, iar oriunde apare clasa părinte, aceasta poate fi înlocuită cu subclase.

Dar metoda de tip obiect de mai sus aduce o altă problemă: boxarea și unboxing-ul pot reduce performanța programului.

Microsoft a introdus generice în C# 2.0, care pot rezolva foarte bine problemele de mai sus.

3. Parametri generici de tip

Într-o definiție generică de tip sau metodă, un parametru de tip este un element de înlocuire specificat de client pentru un anumit tip atunci când instanțiază o variabilă de tip generic. Clasa generică (GenericList<T>) nu poate fi folosită așa cum este deoarece nu este un tip adevărat; Este mai degrabă un plan pentru tipuri. Pentru a folosi <T>GenericList, codul client trebuie să declare și să instanțieze un tip de construct prin specificarea parametrului de tip în paranteze unghiulare. Argumentul de tip pentru această clasă poate fi orice tip recunoscut de compilator. Poți crea orice număr de instanțe de tip construct, fiecare cu un parametru de tip diferit.

Codul din exemplul de mai sus poate fi modificat astfel:
Anunț:
Arată rezultatele:






Precedent:Furnizori de fișiere .NET Core
Următor:Interogare pentru numele bazei de date MySQL, numele tabelului și numele câmpului
Postat pe 29.01.2019 04:08:13 |
Foarte bine, meticulos, iar lucrurile de bază ar trebui revizuite mai mult
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com