5 HAZİRAN 2009, Cuma
Dizilerini( veya dizileri ) C sözlüğünde anahtarları gibi#
C Sözlük bir arama tablosu yapmaya çalışıyorum#. Bir dize değerleri 3-Kayıt düzeni çözmek gerekiyor. Anahtarları gibi dizileri kullanarak denedim, ama bu işe yaramadı, ve ne yapacağımı bilmiyorum. Bu noktada Sözlükler Sözlükler, bir Sözlük yapmayı düşünüyorum, ama muhtemelen javascript onu yapardım nasıl olsa bakmak çok güzel olurdu.
CEVAP
5 HAZİRAN 2009, Cuma
Eğer .NET 4.0 bir Demet kullanın:
lookup = new Dictionary<Tuple<TypeA, TypeB, TypeC>, string>();
Bir Demet tanımlamak ve bunu anahtar olarak kullanabilirsiniz. Demet GetHashCode, Eşit ve İEquatable geçersiz kılmak gerekir:
struct Tuple<T, U, W> : IEquatable<Tuple<T,U,W>>
{
readonly T first;
readonly U second;
readonly W third;
public Tuple(T first, U second, W third)
{
this.first = first;
this.second = second;
this.third = third;
}
public T First { get { return first; } }
public U Second { get { return second; } }
public W Third { get { return third; } }
public override int GetHashCode()
{
return first.GetHashCode() ^ second.GetHashCode() ^ third.GetHashCode();
}
public override bool Equals(object obj)
{
if (obj == null || GetType() != obj.GetType())
{
return false;
}
return Equals((Tuple<T, U, W>)obj);
}
public bool Equals(Tuple<T, U, W> other)
{
return other.first.Equals(first) && other.second.Equals(second) && other.third.Equals(third);
}
}
Bunu Paylaş:
Gecko Gömmek veya bir web görünümü gib...
Kullanarak veya rubygems için toplayıc...
Öğe veya bir WordPress kullanmak için ...
Bir std tüm anahtarları (veya değerler...
JSON karakter kodlama - UTF-8-destekle...