Junior
Mis on üldtüübid (Generic) C#-s?
sobes.tech AI
Vastus AI-lt
Üldtüübid (Generic) võimaldavad C#-s määratleda klasse, struktuure, liideseid, delegaate ja meetodeid tüüpparameetritega. See võimaldab koodi taaskasutust ja suurendada tüübi turvalisust.
Peamised eelised:
- Koodi taaskasutus: Üks klass või meetod võib töötada erinevate andmetüüpidega ilma loogikat dubleerimata.
- Tüübi turvalisus: Kompilaator kontrollib tüüpe kompileerimise ajal, vältides jooksuaegseid vigu, mis on seotud tüübi sobimatusega.
- Jõudlus: Väärtusetüüpide (struct) puhul ei toimu boxingut, mis parandab jõudlust võrreldes
objectkasutamisega.
Tööpõhimõtted:
- Tüüpparameetrid: Määratletakse kasutades nurksulgusid
<T>, kusTon parameetri nimi. Võib kasutada mis tahes nime, kuid tavaliselt kasutatakseT. - Näidise loomine: Generaalse tüübi näidise loomisel tuleb iga tüüpi parameetri jaoks määrata konkreetne andmetüüp.
- Piirangud (Constraints): Tüüpparameetritele saab kehtestada piiranguid, näidates, milliseid võimalusi tüübid peavad toetama (näiteks liidese rakendamine, põhiklass, konstruktorita jms).
Näide List<T> üldklassi kasutamisest:
// Täisarvude nimekirja loomine
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
// Stringide nimekirja loomine
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");