CodeBlanks Logo Icon CodeBlanks

Birden çok tür parametresi

C# kursu · Orta seviye · Ders 73/116

<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

  1. 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.

  2. İ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; } }
  3. Parçayı görevine eşle

    TKey
    Anahtar türü
    TValue
    Değer türü
    Pair<string, int>
    Somut çift
    Key
    Anahtar özelliği

Orta seviye bölümündeki tüm dersler