在處理 C# 中的 HTML 表單和枚舉時,可能需要將字符串值轉換為其對應的枚舉值。以下是一些實現此任務的方法:
在 .NET Core 和 .NET Framework 4.0 及更高版本中,可以使用通用的解析方法:
<code class="language-csharp">bool statusSuccess = Enum.TryParse("Active", out StatusEnum myStatus);</code>
如果您無法訪問最新的 .NET 版本,您可以創建一個簡化的解析例程:
<code class="language-csharp">public static T ParseEnum<T>(string value) { return (T)Enum.Parse(typeof(T), value, true); } StatusEnum myStatus = EnumUtil.ParseEnum<StatusEnum>("Active"); // 或 StatusEnum myStatus = "Active".ToEnum<StatusEnum>();</code>
如果字符串可能不是有效的枚舉值,您可以在解析方法中提供一個默認值:
<code class="language-csharp">public static T ToEnum<T>(this string value, T defaultValue) { if (value == null || value == "") return defaultValue; T result; return Enum.TryParse<T>(value, true, out result) ? result : defaultValue; } StatusEnum myStatus = "Active".ToEnum(StatusEnum.None);</code>
請記住,在修改像字符串類這樣的核心類時,謹慎使用擴展方法,因為它會影響該類的所有實例,而不管其上下文如何。
以上是如何將字符串解析為C#中的枚舉?的詳細內容。更多資訊請關注PHP中文網其他相關文章!