Birden çok tür parametresi
<TKey, TValue> gibi birden çok tür parametresini öğrenirsin.
Birden çok tür parametresi
Bir generic sınıf birden fazla tür parametresi alabilir. class Pair<TKey, TValue> yazısı iki parametre ister: bir anahtar ve bir değer. İsimleri geleneksel olarak TKey ve TValue'dur ama istediğin adı verebilirsin.
Bu desen, anahtar-değer çifti tutan yapılar için idealdir. Dictionary<K, V> sınıfı da aynı mantıkla çalışır: bir anahtar türü, bir değer türü. Birden çok parametre, generic tasarımın esnekliğini artırır; tek bir şablonla farklı tür kombinasyonlarını destekler.
Anahtar-değer çifti tutmak
Pair<TKey, TValue> en temel veri yapılarından biridir: bir anahtar ve ona karşılık gelen değeri bir arada tutar. new Pair<string, int> { Key = "Yaş", Value = 25 } yazısı bir isim-sayı çifti üretir.
Bu yapıyı küçük bir sözlük, bir seçenek listesi veya yapılandırma çifti olarak kullanabilirsin. Dictionary<K, V> aslında bu çiftlerin bir koleksiyonudur. Pair'i tek başına kullanmak, generic çok parametreli tasarımı anlamanın en sade yoludur.
Uygulama Pair<TKey, TValue> sınıfını tanımla
Pair<TKey, TValue> generic sınıfını tanımla. İki özelliği olsun: public TKey Key { get; set; } ve public TValue Value { get; set; }. Main içinde Pair<string, int> örneği üret; Key = "Yaş", Value = 25 ata. Key ve Value'yu Console.WriteLine ile yaz.
Örnek çözümü göster
class Pair<TKey, TValue> { public TKey Key { get; set; } public TValue Value { get; set; } } yaz. Main'de var p = new Pair<string, int> { Key = "Yaş", Value = 25 }; Console.WriteLine(p.Key); Console.WriteLine(p.Value); ekle.
Örnek çözüm:
using System;
class Pair<TKey, TValue>
{
public TKey Key { get; set; }
public TValue Value { get; set; }
}
class Program
{
static void Main()
{
var p = new Pair<string, int> { Key = "Yaş", Value = 25 };
Console.WriteLine(p.Key);
Console.WriteLine(p.Value);
}
}
Kendini test et
-
Pair<TKey, TValue> nasıl somutlaştırılır?
- new Pair(string, int)
- new Pair<string><int>()
- new (string, int) Pair
- new Pair<string, int>()
Cevabı göster
new Pair<string, int>() — Doğru. Türler virgülle ayrılır, tek açılı parantez içinde.
-
İkinci tür parametresi
class Pair<TKey, ____> { public TKey Key { get; set; } public TValue Value { get; set; } }Cevabı göster
class Pair<TKey, TValue> { public TKey Key { get; set; } public TValue Value { get; set; } } -
Parçayı görevine eşle
- TKey
- Anahtar türü
- TValue
- Değer türü
- Pair<string, int>
- Somut çift
- Key
- Anahtar özelliği