SORU
20 ŞUBAT 2009, Cuma


Çok değer Sözlük

Nasıl c çok değer Sözlük oluşturmak istiyorum#?

E. g. İlk T anahtarı ve diğer ikisi nerede Dictionary<T,T,T> değerlerdir.

bu mümkün olacak: Dictionary<int,object,double>

Teşekkürler

CEVAP
20 ŞUBAT 2009, Cuma


Sadece Pair<TFirst, TSecond> Bir tür oluşturmak ve değer olarak kullanın.

Benim bir C# in Depth source code bir örnek var. Burada basitlik için yeniden:

using System;
using System.Collections.Generic;

public sealed class Pair<TFirst, TSecond>
    : IEquatable<Pair<TFirst, TSecond>>
{
    private readonly TFirst first;
    private readonly TSecond second;

    public Pair(TFirst first, TSecond second)
    {
        this.first = first;
        this.second = second;
    }

    public TFirst First
    {
        get { return first; }
    }

    public TSecond Second
    {
        get { return second; }
    }

    public bool Equals(Pair<TFirst, TSecond> other)
    {
        if (other == null)
        {
            return false;
        }
        return EqualityComparer<TFirst>.Default.Equals(this.First, other.First) &&
               EqualityComparer<TSecond>.Default.Equals(this.Second, other.Second);
    }

    public override bool Equals(object o)
    {
        return Equals(o as Pair<TFirst, TSecond>);
    }

    public override int GetHashCode()
    {
        return EqualityComparer<TFirst>.Default.GetHashCode(first) * 37  
               EqualityComparer<TSecond>.Default.GetHashCode(second);
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
C#

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • InfoPuppet

    InfoPuppet

    15 Kasım 2011
  • iMasterful

    iMasterful

    11 EYLÜL 2009
  • Jejoab

    Jejoab

    4 NİSAN 2008