SORU
14 Aralık 2010, Salı


SERİ Yüzüğü: () Herhangi bir vs İçerir() Büyük Koleksiyonları için

Nesneleri büyük bir koleksiyonu göz önüne alındığında, aşağıdaki arasında bir performans farkı var mı?

Collection.Contains:

myCollection.Contains(myElement)

Enumerable.Any:

myCollection.Any(currentElement => currentElement == myElement)

CEVAP
14 Aralık 2010, Salı


() İçeren bir örnek yöntemi, performansı büyük ölçüde koleksiyonu kendisi bağlıdır. Örneğin, () İçeren bir Liste üzerinde taşıdığı sürece, O(n), () bir HashSet O(1).

() Herhangi bir uzantısı bir yöntem olduğunu ve sadece toplama yoluyla, her nesne üzerinde temsilci uygulaması gerekiyor. Bu nedenle O bir karmaşıklık(n) vardır.

() Herhangi bir temsilci iletebilirsiniz ancak bu yana. daha esnektir () İçeren tek bir nesne kabul edebilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • eHow

    eHow

    27 NİSAN 2006
  • ethr95awd

    ethr95awd

    8 Kasım 2006
  • TantalizingTrance

    TantalizingT

    15 ŞUBAT 2009