Sobes.tech
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 object kasutamisega.

Tööpõhimõtted:

  • Tüüpparameetrid: Määratletakse kasutades nurksulgusid <T>, kus T on parameetri nimi. Võib kasutada mis tahes nime, kuid tavaliselt kasutatakse T.
  • 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");