SORU
13 Kasım 2012, Salı


Arama arasındaki fark() ve Sözlük(listenin())

Veri yapıları en verimli olan ve hangisini ne zaman kullanacağını kafamda bir yere oturtmaya çalışıyorum.

Şimdi, ben sadece yapıları yeterince anlamıyor olabilir, ama nasıl ILookup(of key, ...) Dictionary(of key, list(of ...)) Bir farklıdır?

Ayrıca nerede ILookup kullanmak isterim ve nerede / / veri erişim, vb program hız ve bellek açısından daha verimli olur mu?

CEVAP
13 Kasım 2012, Salı


İki önemli farklılıklar:

  • Lookup değişmezdir. Oley :) (En az, Lookup beton sınıfı değişmez olduğuna inanıyorum, ve ILookup arabirimi, herhangi bir mutasyona üyeleri sağlamaz. Yokolabilirdiğer değişken uygulamalar tabi ki.)
  • Bir arama mevcut olmayan bir anahtar arama, geri KeyNotFoundException bir yerine boş bir dizi olsun. (Bu nedenle orada TryGetValue, AFAİCR.)

Verimliliği eşdeğer olması muhtemel - arama iyi sahne arkasında Dictionary<TKey, GroupingImplementation<TValue>> Bir, örneğin kullanabilir ediyorlar. Gereksinimlerinize göre bunlar arasında seçim. Şahsen arama genellikle ** 9, çoğunlukla ilk iki puan yukarıda nedeniyle daha iyi bir seçimdir.

Not olarak bir uygulama ayrıntı, somut uygulama IGrouping<,> kullanılan değerleri uygular IList<TValue> anlamına gelir. verimli kullanmak Count(), ElementAt() vb.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ionized Digital Air Studios

    Ionized Digi

    20 HAZİRAN 2009
  • DONFANTASTICKYPESS

    DONFANTASTIC

    1 Temmuz 2007
  • waterfairy17

    waterfairy17

    9 Aralık 2007