Avatar ·

如何在 C# 中将字符串转换为 enum?(Enum.Parse、TryParse、忽略大小写)

大家好!我是 C# 新手,在一个看似简单的任务上卡住了。 我有一个订单状态的枚举(enum): ```csharp public enum OrderStatus { Pending, Processing, Shipped, Delivered, Cancelled } ``` 用户在文本框中输入状态(例如 "Shipped" 或 "shipped")。我需要将这个字符串转换为 `OrderStatus` 值,以便在程序逻辑中使用。 我尝试直接将字符串赋值给 `OrderStatus` 类型的变量: ```csharp string userInput = "Shipped"; OrderStatus status = userInput; // 编译错误:无法将类型 'string' 隐式转换为 'OrderStatus' ``` 显然,这行不通。我知道有 `Enum.Parse` 方法,但读到如果字符串不在 enum 中它会抛出异常。如果用户输入小写的 "shipped" 或拼写错误怎么办?如何正确且安全地将字符串转换为 enum,同时考虑可能的输入错误?最好有代码示例。 谢