Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 17614|Atbildi: 1

[Paziņojums] C# vispārīgie piemēri ir detalizēti izskaidroti

[Kopēt saiti]
Publicēts 28.01.2019 16:03:40 | | | |
1. Kas ir ģenēriskais?

Ģenēriskie ir jauna sintakse, kas ieviesta C# 2.0, nevis sintakse cukurs, bet funkcijas, ko nodrošina sistēmas jauninājumi 2.0.

Programmējot programmas, mēs bieži sastopamies ar moduļiem ar ļoti līdzīgām funkcijām, bet tie apstrādā dažādus datus. Bet mums nav citas izvēles, kā rakstīt vairākas metodes atsevišķi, lai apstrādātu dažādus datu tipus. Šobrīd jautājums ir, vai ir veids, kā izmantot vienu un to pašu metodi, lai risinātu dažāda veida parametrus? Ģenērisko zāļu parādīšanās ir īpaši izstrādāta, lai atrisinātu šo problēmu.

2. Kāpēc lietot ģenēriskās zāles

Apskatīsim šādu piemēru:
Rezultātu:

No iepriekš minētajiem rezultātiem mēs varam redzēt, ka šīm trim metodēm ir vienādas funkcijas, izņemot dažādus parametrus, kurus tās iziet. Versijas 1.0 laikā nebija ģenērisko zāļu jēdziena, tāpēc ko darīt. Es uzskatu, ka daudzi cilvēki domās par vienas no trim galvenajām OOP iezīmēm mantošanu, mēs zinām, ka C# objekts ir visu veidu bāzes klase, un iepriekš minētais kods ir optimizēts šādi:
Rezultātu:

No iepriekš minētajiem rezultātiem mēs varam redzēt, ka objekta tipa izmantošana atbilst mūsu prasībām un atrisina koda atkārtotu izmantošanu. Daži cilvēki var jautāt, kāpēc ir iespējams nodot int, virkni utt., ja tas ir definēts kā objekta tips? Ir divi iemesli:

1. Objekta tips ir visu tipu vecākklase.

2. Izmantojot mantojumu, apakšklasēm ir visi vecāku klases atribūti un uzvedība, un visur, kur parādās vecāku klase, to var aizstāt ar apakšklasēm.

Bet iepriekš minētā objekta tipa metode rada vēl vienu problēmu: bokss un izpakošana var samazināt programmas veiktspēju.

Microsoft ieviesa ģenēriskos līdzekļus C# 2.0, kas var ļoti labi atrisināt iepriekš minētās problēmas.

3. Vispārīgie tipa parametri

Vispārīgā tipa vai metodes definīcijā tipa parametrs ir vietturis, ko klients norāda noteiktam tipam, kad tas instancē vispārējā tipa mainīgo. Vispārējo klasi (GenericList<T>) nevar izmantot tādu, kāda tā ir, jo tā nav patiess tips; Tas ir vairāk kā tipu projekts. Lai izmantotu GenericList<T>, klienta kodam ir jādeklarē un jāinstancē konstrukcijas tips, norādot tipa parametru leņķa iekavās. Šīs konkrētās klases tipa arguments var būt jebkurš tips, ko kompilators atpazīst. Var izveidot neierobežotu skaitu konstrukcijas tipa gadījumu, katrai no tām ir atšķirīgs tipa parametrs.

Iepriekš minētajā piemērā kodu var mainīt šādi:
Zvaniet:
Rādīt rezultātus:






Iepriekšējo:.NET pamata failu nodrošinātāji
Nākamo:MySQL datu bāzes nosaukums, tabulas nosaukums un lauka nosaukuma vaicājums
Publicēts 29.01.2019 04:08:13 |
Ļoti labi, rūpīgi, un pamatlietas ir jāpārskata vairāk
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com