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

  • ELawshea

    ELawshea

    26 Mayıs 2008
  • Lin Steven

    Lin Steven

    17 EKİM 2006
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011