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>, kdeTje název parametru typu. Lze použít jakékoli jméno, aleTje 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");