Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 17614|Válasz: 1

[Kommunikáció] A C# általános példák részletesen elmagyarázhatók

[Linket másol]
Közzétéve 2019. 01. 28. 16:03:40 | | | |
1. Mi az a generikus?

Az általános rendszerek az új szintaxis, amelyeket a C# 2.0-ban vezettek be, nem szintaxiscukor, hanem a 2.0-ban a keretrendszer fejlesztései által biztosított funkciók.

Amikor programokat programozunk, gyakran találkozunk modulokkal, amelyek nagyon hasonló funkciókkal rendelkeznek, de eltérő adatokat kezelnek. De nincs más választásunk, mint külön-külön több metódust írni különböző adattípusok kezelésére. Jelenleg az a kérdés, hogy van-e mód arra, hogy ugyanazt a módszert különböző paramétertípusok kezelésére használja? A generikusok megjelenése kifejezetten ennek a problémának a megoldására lett tervezve.

2. Miért használok generikus anyagokat

Nézzük meg a következő példát:
Eredmény:

A fenti eredményekből láthatjuk, hogy ez a három módszer ugyanazokat a függvényeket tartalmazza, kivéve a különböző paramétereket, amelyeket átmennek. A 1.0-s verzió idején még nem létezett generikek fogalma, szóval mit tegyen? Úgy hiszem, sokan gondolnak majd az OOP három fő jellemzőjének öröklésére, tudjuk, hogy a C#-ban az objektum az összes típus alaposztálya, és a fenti kód a következőképpen van optimalizálva:
Eredmény:

A fenti eredményekből láthatjuk, hogy az objektum típus használata megfelel a követelményeinknek, és megoldja a kód újrahasználhatóságát. Néhányan megkérdezhetik, miért lehet int, string stb. bejutni, amikor objektumtípusként van definiálva? Ennek két oka van:

1. Az objektumtípus minden típus szülőosztálya.

2. Az öröklődés révén az alosztályok rendelkeznek az összes attribútummal és viselkedéssel az anyaosztály számára, és ahol az anyaosztály megjelenik, az alosztályok helyettesíthetők.

De a fenti objektumtípus módszer egy másik problémát is vehet fel: a boxing és unboxing csökkentheti a program teljesítményét.

A Microsoft a C# 2.0-ban vezetett be generikeket, amelyek nagyon jól megoldják a fent említett problémákat.

3. Általános típusparaméterek

Egy általános típus vagy metódus definícióban a típusparaméter egy helykitöltő, amelyet az ügyfél egy adott típusra jelöl, amikor egy generikus típusú változót instanciál. Az általános osztály (GenericList<T>) nem használható úgy, ahogy van, mert nem valódi típus; Ez inkább egy típusterv. A GenericList használatához <T>a kliens kódnak be kell jelentenie és meginstanciálnia egy konstrukció típust szögzárójelen belüli típusparaméter megjelölésével. Ennek az osztálynak a típusérve bármilyen olyan típus lehet, amelyet a fordító felismer. Bármilyen számú konstrukció típusú példányt létrehozhatsz, mindegyiknek más típusparamétere van.

A fenti példában szereplő kód a következőképpen módosítható:
Hívás:
Eredmények megjelenítése:






Előző:.NET Core Fájlszolgáltatók
Következő:MySQL adatbázis név, tábla és mezőnév lekérdezés
Közzétéve 2019. 01. 29. 4:08:13 |
Nagyon jó, aprólékos, és az alapvető dolgokat többet kellene átnézni
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com