SORU
28 Aralık 2009, PAZARTESİ


Null veya boş toplama geri dönmek için daha iyi?

bu tür bir genel soru (ama ben C# kullanarak), ne en iyi yolu (en iyi uygulama), dönüşü boş veya boş toplama yöntemi olan bir topluluk olarak bir dönüş türü ?

CEVAP
28 Aralık 2009, PAZARTESİ


Boş toplama. Her zaman.

Bu berbat bir şey:

if(myInstance.CollectionProperty != null)
{
  foreach(var item in myInstance.CollectionProperty)
    /* arrgh */
}

HİÇ bir koleksiyon döndürme null iade veya sayısız için en iyi yöntem olarak kabul edilir.Her ZAMANsayısız boş bir koleksiyon döndürür. Söz konusu saçma sapan engeller ve aracınızın ortak çalışanlar ve sınıfların kullanıcılar tarafından kışkırttı görmesini engeller.

Özellikleri hakkında konuşurken, her zaman özelliğini bir kez ayarlayın ve unutun

public List<Foo> Foos {public get; private set;}

public Bar() { Foos = new List<Foo>(); }

Enumerables döndüren yöntemleri hakkında konuşurken, kolayca boş bir sayısız dönmek yerine 6*...*

public IEnumerable<Foo> GetMyFoos()
{
  return InnerGetFoos() ?? Enumerable.Empty<Foo>();
}

Enumerable.Empty<T>() kullanarak dönen, örneğin, yeni boş bir koleksiyon veya bir dizi daha verimli olarak görülebilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amir Parmar

    Amir Parmar

    25 Kasım 2010
  • bethliebert

    bethliebert

    23 EKİM 2008
  • Study with Substance P

    Study with S

    31 Mayıs 2008