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

  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • Tek Syndicate

    Tek Syndicat

    23 Temmuz 2008
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008