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

  • Kamikazeepanda

    Kamikazeepan

    5 ŞUBAT 2006
  • metal571

    metal571

    30 Mayıs 2006
  • ::..ηєѕѕ мιχ..::

    ::..ηєѕѕ

    15 Aralık 2006