私は次のような列挙型を持っています:
public enum BlahType
{
blahA = 1,
blahB = 2,
blahC = 3
}
値が 'blahB' の文字列がある場合、enum BlahType に対してキャストして値 2 を取得することは可能ですか?
私は次のような列挙型を持っています:
public enum BlahType
{
blahA = 1,
blahB = 2,
blahC = 3
}
値が 'blahB' の文字列がある場合、enum BlahType に対してキャストして値 2 を取得することは可能ですか?
使用する:
BlahType yourEnumValue = (BlahType) Enum.Parse(typeof(BlahType), "blahB");
その後
int yourIntValue = (int) yourEnumValue;
enum test
{
VAL1,
VAL2
}
static void Main(string[] args)
{
test newTest = (test)Enum.Parse(typeof(test), "VAL2");
Console.WriteLine(newTest.ToString());
}
Enum.Parseメソッドを使用して、 int にキャストできます。
public void EnumInstanceFromString()
{
DayOfWeek wednesday = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), "Wednesday");
DayOfWeek sunday = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), "sunday", true);
DayOfWeek tgif = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), "FRIDAY", true);
lblOutput.Text = wednesday.ToString() +
". Int value = " +
(int)wednesday).ToString() + "<br>";
lblOutput.Text += sunday.ToString() +
". Int value = " +
((int)sunday).ToString() + "<br>";
lblOutput.Text += tgif.ToString() +
". Int value = " +
((int)tgif).ToString() + "<br>";
}
このコードを使用...
BlahType blah = Enum.Parse(typeof(BlahType), "blahB");
上記のように、使用したい他のいくつかの人が述べたように:
BlahType myEnum = (BlahType)Enum.Parse(typeof(BlahType), "blahB");
int myEnumValue = (int)myEnum;