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

  • Joshua Benedict

    Joshua Bened

    26 EKİM 2013
  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • LivestrongWoman

    LivestrongWo

    1 Aralık 2011