Junior
C# dilinde jenerik türler nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
C# dilinde jenerik tipler, tür parametreleri ile sınıflar, yapılar, arayüzler, delege ve metodlar tanımlamaya olanak tanır. Bu, kodun yeniden kullanılabilirliğini ve tür güvenliğini artırır.
Ana avantajlar:
- Kodun yeniden kullanımı: Tek bir sınıf veya metod, mantığı tekrar etmeden farklı veri türleriyle çalışabilir.
- Tür güvenliği: Derleyici, derleme sırasında türleri kontrol eder ve tür uyuşmazlıklarına bağlı çalışma zamanı hatalarını önler.
- Performans: Değer tipleri (struct) için boxing yapılmaz, bu da
objectkullanımına kıyasla performansı artırır.
Çalışma prensipleri:
- Tür parametreleri:
<T>köşeli parantezler kullanılarak tanımlanır, buradaTtür parametresinin adıdır. Herhangi bir isim kullanılabilir, ancakTyaygındır. - Örnek oluşturma: Bir jenerik tipin örneği oluşturulurken, her tür parametresi için belirli bir veri tipi belirtilmelidir.
- Kısıtlamalar (Constraints): Tür parametreleri üzerinde kısıtlamalar getirilebilir, örneğin, arayüz uygulaması, temel sınıf, yapıcı olmaması gibi.
List<T> jenerik sınıfının kullanım örneği:
// Tamsayı listesi oluşturma
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
// Dize listesi oluşturma
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");