使用Enum.Parse方法,可以将字符串(string)或数字(numeric)转换为枚举值(enumerated)。
使用Enum.Parse方法,可以将字符串(string)或数字(numeric)转换为枚举值(enumerated)。该方法只需要传入枚举值的类型和字符串或该字符串在枚举值中的序号(数字)就可以实现转换。这个方法还有布尔类型的可选参数,用来标识字符串是否区分大小写。
示例如下:
// boo code
namespace DefaultNamespace
import System
enum Colors:
Red
Green
Blue
class Convert:
def convert(str as string):
myColor as Colors
try:
myColor = Enum.Parse(typeof(Colors), str) //do not need a explicit conversion
return myColor
except e as Exception:
print "Error,${e.Message}"
model = Convert()
model.convert("Yellow")
print model.convert("Green") == Colors.Green
print model.convert("1") == Colors.Green
print model.convert("Blue") == Colors.Red
namespace DefaultNamespace
import System
enum Colors:
Red
Green
Blue
class Convert:
def convert(str as string):
myColor as Colors
try:
myColor = Enum.Parse(typeof(Colors), str) //do not need a explicit conversion
return myColor
except e as Exception:
print "Error,${e.Message}"
model = Convert()
model.convert("Yellow")
print model.convert("Green") == Colors.Green
print model.convert("1") == Colors.Green
print model.convert("Blue") == Colors.Red
运行结果:
using System;
namespace DefaultNamespace
{
public enum Colors
{
Red,
Green,
Blue
}
public class Convert
{
public Colors convert(string str)
{
Colors myColor;
try
{
myColor = (Colors)Enum.Parse(typeof(Colors), str);
return myColor;
}
catch(Exception e)
{
Console.WriteLine(e.Message);
return Colors.Red; // if any error occured return red
}
}
public static void Main()
{
Convert model = new Convert();
model.convert("Yellow");
Console.WriteLine(model.convert("Green") == Colors.Green);
Console.WriteLine(model.convert("Blue") == Colors.Red);
}
}
}
namespace DefaultNamespace
{
public enum Colors
{
Red,
Green,
Blue
}
public class Convert
{
public Colors convert(string str)
{
Colors myColor;
try
{
myColor = (Colors)Enum.Parse(typeof(Colors), str);
return myColor;
}
catch(Exception e)
{
Console.WriteLine(e.Message);
return Colors.Red; // if any error occured return red
}
}
public static void Main()
{
Convert model = new Convert();
model.convert("Yellow");
Console.WriteLine(model.convert("Green") == Colors.Green);
Console.WriteLine(model.convert("Blue") == Colors.Red);
}
}
}
运行结果: