Sobes.tech
Junior

Co jsou generické typy v C#?

sobes.tech AI

Odpověď od AI

Obecné typy (Generic) v C# umožňují definovat třídy, struktury, rozhraní, delegáty a metody s parametry typu. To poskytuje možnost opakovaného použití kódu a zvýšení typové bezpečnosti.

Hlavní výhody:

  • Opakované použití kódu: Jedna třída nebo metoda může pracovat s různými datovými typy bez duplikace logiky.
  • Typová bezpečnost: Kompilátor kontroluje typy během kompilace, čímž předchází chybám za běhu spojeným s nesouladem typů.
  • Výkon: U hodnotových typů (struct) nedochází k boxing, což zlepšuje výkon ve srovnání s použitím object.

Principy fungování:

  • Parametry typu: Definují se pomocí hranatých závorek <T>, kde T je název parametru typu. Lze použít jakékoli jméno, ale T je obvyklé.
  • Vytváření instancí: Při vytváření instance generického typu je nutné specifikovat konkrétní datový typ pro každý parametr typu.
  • Omezení (Constraints): Na parametry typu lze klást omezení, například implementace rozhraní, základní třída, absence konstruktoru apod.

Příklad použití generické třídy List<T>:

// Vytvoření seznamu celých čísel
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);

// Vytvoření seznamu řetězců
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");