C#遍历枚举?(索引System.Array)
我有以下代码:
// Obtain the string names of all the elements within myEnum String[] names = Enum.GetNames( typeof( myEnum ) );
// Obtain the values of all the elements within myEnum
Array values = Enum.GetValues( typeof( myEnum ) );
// Print the names and values to file
for ( int i = 0; i < names.Length; i++ )
{
print( names[i], values[i] );
}
但是,我无法索引值。有没有更简单的方法可以做到这一点?
还是我完全错过了一些东西!
回答:
Array values = Enum.GetValues(typeof(myEnum));foreach( MyEnum val in values )
{
Console.WriteLine (String.Format("{0}: {1}", Enum.GetName(typeof(MyEnum), val), val));
}
或者,您可以强制转换返回的System.Array:
string[] names = Enum.GetNames(typeof(MyEnum));MyEnum[] values = (MyEnum[])Enum.GetValues(typeof(MyEnum));
for( int i = 0; i < names.Length; i++ )
{
print(names[i], values[i]);
}
但是,您可以确定GetValues以与GetNames返回名称相同的顺序返回值吗?
以上是 C#遍历枚举?(索引System.Array) 的全部内容, 来源链接: utcz.com/qa/422920.html