Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 17614|Odgovoriti: 1

[Komunikacija] Splošni primeri v C# so podrobno pojasnjeni

[Kopiraj povezavo]
Objavljeno na 28. 01. 2019 16:03:40 | | | |
1. Kaj je generično?

Generični izdelki so nova sintaksa, uvedena v C# 2.0, ne sugar sintakse, ampak funkcije, ki jih zagotavljajo nadgradnje ogrodja v 2.0.

Ko programiramo programe, pogosto naletimo na module z zelo podobnimi funkcijami, vendar obravnavajo različne podatke. Vendar nimamo druge izbire, kot da napišemo več metod ločeno za obdelavo različnih tipov podatkov. Trenutno je vprašanje, ali obstaja način, da se ista metoda uporabi za različne vrste parametrov? Pojav generičnih zdravil je posebej zasnovan za reševanje tega problema.

2. Zakaj uporabljati generična zdravila

Poglejmo si naslednji primer:
Rezultat:

Iz zgornjih rezultatov lahko vidimo, da imajo te tri metode enake funkcije, razen različnih parametrov, ki jih prepuščajo. V času različice 1.0 ni bilo koncepta generičnih izdelkov, torej kaj storiti. Verjamem, da bo veliko ljudi pomislilo na dedovanje ene od treh glavnih lastnosti OOP, saj vemo, da je v C# objekt osnovni razred vseh tipov, zgornja koda pa je optimizirana na naslednji način:
Rezultat:

Iz zgornjih rezultatov lahko vidimo, da uporaba tipa objekta izpolnjuje naše zahteve in rešuje ponovno uporabnost kode. Nekateri se morda sprašujejo, zakaj je mogoče prenesti int, niz itd., če je to definirano kot tip objekta? Obstajata dva razloga:

1. Tip objekta je nadrejeni razred vseh tipov.

2. Z dedovanjem imajo podrazredi vse atribute in vedenja starševskega razreda, in kjerkoli se starševski razred pojavi, ga lahko nadomestijo podrazredi.

A zgornja metoda tipa objekta prinaša še en problem: pakiranje in razpakiranje lahko zmanjšata zmogljivost programa.

Microsoft je v C# 2.0 uvedel generične izdelke, ki lahko zelo dobro rešijo zgoraj omenjene težave.

3. Generični tipni parametri

V definiciji generičnega tipa ali metode je parameter tipa nadomestek, ki ga odjemalec določi za določen tip, ko instancira spremenljivko tega generičnega tipa. Generični razred (GenericList<T>) se ne more uporabljati takšen, kot je, ker ni pravi tip; Je bolj kot načrt za tipe. Za uporabo GenericList <T>mora odjemalska koda deklarirati in instancirati tip konstrukta tako, da parametr tipa določi znotraj kotnih oklepajev. Tipni argument za ta razred je lahko katerikoli tip, ki ga prevajalnik prepozna. Lahko ustvarite poljubno število primerkov tipa konstrukta, vsak z drugačnim parametrom tipa.

Kodo v zgornjem primeru je mogoče spremeniti na naslednji način:
Klic:
Pokaži rezultate:






Prejšnji:Ponudniki .NET Core datotek
Naslednji:Poizvedba po imenu baze MySQL, ime tabele in poizvedba po imenu polja
Objavljeno na 29. 01. 2019 04:08:13 |
Zelo dobro, natančno in osnovne stvari bi morale biti bolj pregledane
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com