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

  • ☆ SUB4SUB CENTER! ☆ spam here

    ☆ SUB4SUB

    22 ŞUBAT 2010
  • Caramthros

    Caramthros

    10 AĞUSTOS 2007
  • fouseyTUBE

    fouseyTUBE

    21 Mart 2011