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

  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • superemposed

    superemposed

    25 Aralık 2007
  • xiaoyu85

    xiaoyu85

    20 ŞUBAT 2010