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

  • RealPapaPit

    RealPapaPit

    16 Mart 2009
  • SunsetTrance

    SunsetTrance

    20 EYLÜL 2008
  • The Platform

    The Platform

    14 HAZİRAN 2006