有时候需要把枚举转字符串,那么如何把枚举转字符串?
枚举转字符串
假如需要把枚举转字符串,可以直接把他进行转换,请看代码
public enum Di
{
/// <summary>
/// 轨道
/// </summary>
Railway,
/// <summary>
/// 河流
/// </summary>
River,
}
static void Main(string[] args)
{
Console.WriteLine(Di.Railway.ToString());
}
这样就可以把枚举转字符串
除了这个方法,可以使用 C# 6.0 的关键字,请看代码
Console.WriteLine(nameof(Di.Railway));
字符串转枚举
如果把一个枚举转字符串,那么如何把字符串转枚举?可以使用 Enum.Parse
不过这个方法可以会抛异常,所以使用需要知道字符串是可以转
public enum Di
{
/// <summary>
/// 轨道
/// </summary>
Railway,
/// <summary>
/// 河流
/// </summary>
River,
}
static void Main(string[] args)
{
string str = Di.Railway.ToString();
Console.WriteLine(Enum.Parse(typeof(Di), str).ToString());
}
如果对于不确定的字符串,包括空的值,可以采用 TryParse 方法
if (Enum.TryParse(typeof(Di),null,out var value))
{
}
上面代码只会返回 false 不会提示无法转换
本文代码放在github欢迎小伙伴访问
本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/C-%E6%9E%9A%E4%B8%BE%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 lindexi (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。