私は次のことをします:
public enum MyNumberType {
Zero = 0, One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten
}
次の方法で、やりたいことができます。
namespace ConsoleApplication
{
class Program
{
public enum MyNumberType { Zero = 0, One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten }
private static int GetIntValue(MyNumberType theType) { return (int) theType; }
private static String GetStringValue(MyNumberType theType) { return Enum.GetName(typeof (MyNumberType),theType); }
private static MyNumberType GetEnumValue (int theInt) {
return (MyNumberType) Enum.Parse( typeof(MyNumberType), theInt.ToString() ); }
static void Main(string[] args)
{
Console.WriteLine( "{0} {1} {2}",
GetIntValue(MyNumberType.Five),
GetStringValue( MyNumberType.Three),
GetEnumValue(7)
);
for (int i=0; i<=10; i++)
{
Console.WriteLine("{0}", GetEnumValue(i));
}
}
}
}
次の出力を生成します。
5 Three Seven
Zero
One
Two
Three
Four
Five
Six
Seven
Eight
Nine
Ten
これは、次のように、より大きな数や連続した範囲にない数に拡張できます。
public enum MyNumberType {
ten= 10, Fifty=50, Hundred=100, Thousand=1000
}
列挙型はint型だけでなく他の型でも使用できるため、これは非常に柔軟です。