SORU
7 Mart 2010, Pazar


Numaralama.() Ayrıştırmak, kesinlikle daha güzel bir yolu?

Bir numaralandırma yok olur

public enum Colours
{
    Red,
    Blue
}

Görebildiğim tek yolu onları ayrıştırma gibi bir şey yapıyor

string colour = "Green";
var col = (Colours)Enum.Parse(typeOf(Colours),colour);

Bu "Yeşil" Colours numaralama üyesi değildir. çünkü System.ArgumentException atar

Şimdi gerçekten nefret kaydırma kodu try/catch, yok daha güzel olanı bu değil dahil beni yineleme ile her Colours numaralama ve bir dize karşılaştırma karşı colour?

CEVAP
7 Mart 2010, Pazar


Enum.IsDefined() ilk olarak, bir try/catch sarma kendinizi kurtarmak için kullanabilirsiniz. Veya giriş numaralama geçerli bir üyesi olup olmadığını boolean değeri döndürür.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fr. Eckle Studios

    Fr. Eckle St

    29 Kasım 2006
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009
  • TomKNJ

    TomKNJ

    26 ŞUBAT 2007