SORU
11 ŞUBAT 2009, ÇARŞAMBA


Anahtar kayıp, atmak yerine varsayılan değer döndüren C-bir uygulama var mı?

Sözlük, dizin eğer anahtar yoksa, bir özel durum atar. Bunun yerine, varsayılan(T) döndürecektir C uygulaması var mı?

"" Yöntem, ama bu imkansız etmeniz ile kullanmak için TryGetValue ben biliyorum

Verimli ne gerek var mı?: yapacağı bu

myDict.FirstOrDefault(a => a.Key == someKeyKalue);

Karma bir arama kullanmak yerine anahtarları yineleme olacak bence de sanmıyorum.

CEVAP
11 ŞUBAT 2009, ÇARŞAMBA


Gerçekten de, verimli olmayacak.

Her zaman bir uzantısı yöntemi yazabilirsiniz:

public static TValue GetValueOrDefault<TKey,TValue>
    (this IDictionary<TKey, TValue> dictionary, TKey key)
{
    TValue ret;
    // Ignore return value
    dictionary.TryGetValue(key, out ret);
    return ret;
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gali B

    Gali B

    1 EYLÜL 2006
  • NLthomas21

    NLthomas21

    20 Mayıs 2008
  • REK Roth Productions

    REK Roth Pro

    8 Ocak 2011