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
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 ValueType
s olsa da), açık döküm yazamaz sistemi içinde doğru olabilir
Nasıl JavaScript bir Tamsayı bir Dize ...
Liste dönüştürmek için nasıl<Tamsay...
İnt dönüştürmek için nasıl [List]<T...
Nasıl bir numaralandırma değeri int ' ...
Nasıl dize için bir tamsayı değeri dön...