Junior
Mi a generikus típus a C#-ban?
sobes.tech MI
Válasz az MI-től
A C#-ban a generikus típusok lehetővé teszik osztályok, szerkezetek, interfészek, delegáltak és metódusok típusparaméterek megadását. Ez lehetővé teszi a kód újrafelhasználását és a típusbiztonság növelését.
Fő előnyök:
- Kód újrafelhasználás: Egy osztály vagy metódus különböző adattípusokkal működhet anélkül, hogy duplikálná a logikát.
- Típusbiztonság: A fordító ellenőrzi a típusokat fordítási időben, megelőzve a futási időben jelentkező típus inkompatibilitási hibákat.
- Teljesítmény: Az értéktípusok (struct) esetén nem történik boxing, ez javítja a teljesítményt az
objecthasználatához képest.
Működési elvek:
- Típusparaméterek: Szögletes zárójelek
<T>használatával definiálják, aholTa típusparaméter neve. Bármilyen név használható, de aTa szokásos. - Példányosítás: Egy generikus típus példányosításakor meg kell adni minden típusparaméterhez egy konkrét adattípust.
- Korlátozások (Constraints): Korlátozásokat lehet alkalmazni a típusparaméterekre, megadva, hogy milyen képességeket kell támogatniuk a típusok (pl. interfész megvalósítása, ősosztály, konstruktor hiánya).
A List<T> generikus osztály használatának példája:
// Egész számok listájának létrehozása
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
// Szövegek listájának létrehozása
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");