SORU
12 Aralık 2009, CUMARTESİ


Sayısız< kullanmak daha iyidir;T>.(Boş) yeni Listesi< aksine;T> bir IEnumerable başlatmak için?

Sınıf bir Kişi varsayalım :

public class Person
{
   public string Name { get; set;}
   public IEnumerable<Role> Roles {get; set;}
}

Açıkçası yapıcı Rolleri instanciate etmeliyim. Şimdi, böyle bir Liste ile bunu yapmak için kullandım

public Person()
{
   Roles = new List<Role>();
}

Ama System.Linq ad bu statik bir yöntem keşfettim

IEnumerable<T> Enumerable<T>.Empty<T>();

MSDN:

(TResult)() yöntemine Boş bir önbelleğe TResult boş sıra. Ne zaman döndürdüğü nesne numaralandırılmış, hiçbir element verir.

Bazı durumlarda, bu yöntem kullanışlıdır bir boş bir sıra geçen kullanıcı tanımlı bir alan bir yöntemi Ienumerable(T). Ayrıca için kullanılabilir yöntemleri için tarafsız bir öğe oluşturmak Birliği gibi. Örnek bölümüne bakın bu kullanımıyla ilgili bir örnek için

Bu yüzden böyle yapıcı yazmak daha mı iyi? Bunu kullanıyor musunuz? Neden? ya da, Neden olmasın?

public Person()
{
   Roles = Enumerable.Empty<Role>();
}

CEVAP
12 Aralık 2009, CUMARTESİ


Sayısız bence.Boş daha açık olduğundan daha iyidir: kodunuzu açıkça niyetini gösterir. Ayrıca biraz daha verimli olabilir, ama o sadece ikincil bir avantaj.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 1881 Animation

    1881 Animati

    5 EKİM 2013
  • Mega64

    Mega64

    24 ŞUBAT 2006
  • SVB International

    SVB Internat

    29 EKİM 2011