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

  • campos9896

    campos9896

    24 Mart 2012
  • H3Ctic (old channel)

    H3Ctic (old

    23 Mart 2011
  • Photoshop Tutorials

    Photoshop Tu

    22 HAZİRAN 2011