Sobes.tech
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 object bilan solishtirganda performansni yaxshilaydi.

Ishlash prinsiplari:

  • Turi parametrlari: <T> bilan belgilangan, bu yerda T tur parametri nomi. Har qanday nom ishlatilishi mumkin, lekin T odatiy.
  • 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");