SORU
2 Temmuz 2009, PERŞEMBE


Her zaman IEnumerable<T> yerine IList< return;> T gerekir mi?

Öğeleri bir dizi döndüren bir DAL ya da diğer kodumu yazıyorum, her zaman benim geri bildirimi yapayım:

public IEnumerable<FooBar> GetRecentItems()

ya

public IList<FooBar> GetRecentItems()

Şu anda benim kod IEnumerable mümkün olduğunca kullanmaya çalışıyorum ama eğer bu en iyi yöntem ise emin değilim? Hala ne işe yaradığını açıklayıcı olurken en genel türü dönüyordum çünkü doğru gibi görünüyordu, ama belki de bunu yapmak için doğru değil.

CEVAP
3 Temmuz 2009, Cuma


Çerçeve tasarımı arayan veya ReadOnlyCollection sadece okumak için koleksiyonlar tarafından değiştirilebilir bir koleksiyon dönmek için gereken zaman sınıfını kullanarak Collection tavsiye ederim.

Bu basit bir IList tercih sebebi IList eğer onun sadece okumak ya da değil, eğer arayanın bilgi yok.

IEnumerable<T> bunun yerine, belirli işlemleri gerçekleştirmek için arayan için biraz daha zor olabilir. Ayrıca artık arayan toplama değiştirmek için esneklik olabilir veya istemeyebilirsiniz bir şey verecek.

SERİ birkaç hileler onun kol içerir ve bazı çağrılarda yapılmaktadır Türüne göre optimize olacağını unutmayın. Sayımı gerçekleştirmek ve temel koleksiyonuna bir Liste varsa, örneğin, tüm unsurları ile yürüyüş DEĞİL.

Şahsen, bir ORM için muhtemelen benim dönüş değeri Collection<T> sopa ile olur.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009
  • TheSalband Rai

    TheSalband R

    11 NİSAN 2011
  • Tire Rack

    Tire Rack

    31 Mayıs 2007