首页 >后端开发 >C++ >如何有效地将字符串转换为C#中的枚举?

如何有效地将字符串转换为C#中的枚举?

Susan Sarandon
Susan Sarandon原创
2025-02-02 00:46:16546浏览

How Can I Efficiently Convert Strings to Enumerations in C#?

优化C#

中的字符串转换

c#提供了几种将字符串转换为枚举值的方法,但是直接的StatusEnum MyStatus = StatusEnum.Parse("Active");方法并不总是理想的。 让我们探索有效的替代方案。

利用Enum.TryParse

> 对于.net core和.net Framework 4.0及以后,

Enum.TryParse

c#7的内联变量进一步增强了可读性:
<code class="language-csharp">Enum.TryParse("Active", out StatusEnum myStatus);</code>

自定义扩展方法(对于较旧的框架或特定需求)
<code class="language-csharp">var myStatus = Enum.TryParse("Active", out var result) ? result : default;</code>
如果不可用,则自定义扩展方法提供灵活性:>

更全面的扩展名优雅地处理无效或无效的输入:

>

有关扩展的重要说明:Enum.TryParse虽然扩展方法很有用,但过度使用会导致代码混乱。 在将扩展添加到内置类型之前,请考虑上下文和潜在冲突。 在某些情况下,使用静态帮手类可能是一种更干净的方法。

>

以上是如何有效地将字符串转换为C#中的枚举?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn