Sobes.tech
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 object használatához képest.

Működési elvek:

  • Típusparaméterek: Szögletes zárójelek <T> használatával definiálják, ahol T a típusparaméter neve. Bármilyen név használható, de a T a 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");