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

  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • Perihelion

    Perihelion

    23 NİSAN 2008
  • Project Mooncircle

    Project Moon

    6 Aralık 2009