SORU
26 Mayıs 2009, Salı


Nasıl Sistemi dönüştürmek.Temel tamsayı numaralandırma?

Herhangi bir sisteme dönüştürmek için genel bir yöntem oluşturmak istiyorum.Numaralandırma karşılık gelen tamsayı değeri yazın, tercihen bir dize ayrıştırma olmadan döküm olmadan ve türetilmiş.

İstediğim şey, örneğin, bu gibi bir şey:

// Trivial example, not actually what I'm doing.
class Converter
{
    int ToInteger(System.Enum anEnum)
    {
        (int)anEnum;
    }
}

Ama bu işe görünmüyor. İfade çevirebilirsiniz olmayan Resharper rapor türü 'System.'Yazın'. int numaralama

Şimdi bu çözüm buldum ziyade, daha verimli olurdu.

class Converter
{
    int ToInteger(System.Enum anEnum)
    {
        return int.Parse(anEnum.ToString("d"));
    }
}

Herhangi bir öneriniz var mı?

CEVAP
26 Mayıs 2009, Salı


Eğer atmak istemiyorsan eğer

Convert.ToInt32()

hile yapmak olabilir.

Doğrudan dökme ((int)enumValue) mümkün değildir. Bu da "" temelde farklı türleri olabilir bir numaralama(, *, byte*8 7*...*)beri. tehlikeli olacağını unutmayın

Özetle: System.Enum Int32 ile doğrudan devralma ilişkisi yoktur ve her ikisi de ValueTypes olsa da), açık döküm yazamaz sistemi içinde doğru olabilir

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HowcastSportsFitness

    HowcastSport

    11 Mayıs 2011
  • KIT KAT

    KIT KAT

    3 EKİM 2005
  • SamsTech

    SamsTech

    4 NİSAN 2014