gpt4 book ai didi

c# - Convert.ChangeType 如何从字符串转换为枚举

转载 作者:IT王子 更新时间:2023-10-29 04:15:27 32 4
gpt4 key购买 nike

  public static T Convert<T>(String value)
{
return (T)Convert.ChangeType(value, typeof(T));
}

public enum Category
{
Empty,
Name,
City,
Country
}

Category cat=Convert<Category>("1");//Name=1

当我调用 Convert.ChangeType 时,系统抛出一个异常,表明无法从 String 转换为 Category。如何进行转换?也许我需要为我的类型实现任何转换器?

最佳答案

使用Enum.Parse方法。

public static T Convert<T>(String value)
{
if (typeof(T).IsEnum)
return (T)Enum.Parse(typeof(T), value);

return (T)Convert.ChangeType(value, typeof(T));
}

关于c# - Convert.ChangeType 如何从字符串转换为枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20835880/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com