Junior
C# da umumiy turlar nima?
sobes.tech AI
AIdan javob
C# tilidagi generik turlar turi parametrlari bilan sinflar, tuzilmalar, interfeyslar, delegatlar va metodlarni aniqlash imkonini beradi. Bu kodni qayta ishlatish va tur xavfsizligini oshirish imkonini beradi.
Asosiy afzalliklar:
- Kodning qayta ishlatilishi: Bir sinf yoki metod turli ma'lumot turlari bilan ishlashi mumkin, takroriyliksiz.
- Tur xavfsizligi: Kompilyator turlarni kompilyatsiya vaqtida tekshiradi, bajarilish vaqtida turdagi mos kelmaslik bilan bog'liq xatoliklarni oldini oladi.
- Performans: Qiymat turlari (struct) uchun boxing amalga oshmaydi, bu
objectbilan solishtirganda performansni yaxshilaydi.
Ishlash prinsiplari:
- Turi parametrlari:
<T>bilan belgilangan, bu yerdaTtur parametri nomi. Har qanday nom ishlatilishi mumkin, lekinTodatiy. - Namuna yaratish: Generik turning namunasini yaratishda, har bir tur parametri uchun aniq ma'lumot turi ko'rsatilishi kerak.
- Cheklovlar (Constraints): Turlarga cheklovlar qo'yish mumkin, masalan, interfeysni amalga oshirish, asosiy sinf, konstruktor bo'lmasligi va boshqalar.
List<T> generik sinfidan foydalanish misoli:
// Butun sonlar ro'yxatini yaratish
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
// Satrlardan iborat ro'yxat
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");