0

私は次のような列挙型を持っています:

public enum BlahType
{
    blahA = 1,
    blahB = 2,
    blahC = 3
}

値が 'blahB' の文字列がある場合、enum BlahType に対してキャストして値 2 を取得することは可能ですか?

4

6 に答える 6

5

使用する:

BlahType yourEnumValue = (BlahType) Enum.Parse(typeof(BlahType), "blahB");

その後

int yourIntValue = (int) yourEnumValue;
于 2009-04-07T15:59:01.593 に答える
1
enum test
{
   VAL1,
   VAL2
}

static void Main(string[] args)
{
   test newTest = (test)Enum.Parse(typeof(test), "VAL2");
   Console.WriteLine(newTest.ToString());
}
于 2009-04-07T16:00:30.453 に答える
1

Enum.Parseメソッドを使用して、 int にキャストできます。

于 2009-04-07T15:56:50.397 に答える
0
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>";

 }
于 2009-04-07T15:59:35.057 に答える
0

このコードを使用...

BlahType blah = Enum.Parse(typeof(BlahType), "blahB");
于 2009-04-07T16:02:34.580 に答える
0

上記のように、使用したい他のいくつかの人が述べたように:

        BlahType myEnum = (BlahType)Enum.Parse(typeof(BlahType), "blahB");
        int myEnumValue = (int)myEnum;
于 2009-04-07T16:14:51.510 に答える