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

  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008
  • The CGBros

    The CGBros

    20 AĞUSTOS 2011
  • WestsideMrArO

    WestsideMrAr

    6 EKİM 2010