C#入门经典上就有这段解释..
要获得枚举的字符串值,可以使用Convert.ToString()或变量本身的ToString()命令,直接使用(string)数据类型转换时不行的,因为需要进行的处理并不仅仅是把存储在枚举变量的数据放在string变量中。
如果要把string转换为枚举值,可以使用Enum.Parse()进行转换,其使用方式如下:
(enumerationType)Enum.Parse(typeof(enumerationType), enumerationValueString)
string myString = "NORTH ";
myDirection = (Orientation)Enum.Parse(typeof(Orientation), myString);
当然,因为并不是所有的字符串值都可以映射为一个Orientation值。如果一个值不能映射为枚举值中的一个,就会产生一个错误,与C#中的其他值一样,这些值是区分大小写的。
转自:http://topic.csdn.net/u/20070829/22/441742f8-c366-4e2a-b3b1-98809430f007.html