【问题标题】:(C#) how to get Key from string [duplicate](C#)如何从字符串中获取密钥[重复]
【发布时间】:2021-10-06 21:11:47
【问题描述】:

当我说 Key 时,我指的是 Windows 窗体中的“Keys”枚举。例如:

我可能有一个字符串:

string key = "Q";

我正在尝试将其转换为:

Keys.Q

我该怎么做? (如果可能的话)

【问题讨论】:

标签: c# .net windows forms


【解决方案1】:

如果字符串的值与枚举不完全相同,您可以使用 switch-case 语句来完成。

Keys keys = key switch
{
    "Q" => Keys.Q
    ...
};

如果值完全相同,只需解析它:

public static TEnum ToEnum<TEnum>(this string strEnumValue)
{
    if (!Enum.IsDefined(typeof(TEnum), strEnumValue))
    {
        throw new Exception("Enum can't be parsed");
    }

    return (TEnum)Enum.Parse(typeof(TEnum), strEnumValue);
}

Keys keys = key.ToEnum<Keys>();

【讨论】:

    猜你喜欢
    • 2021-09-01
    • 2022-11-17
    • 2022-01-11
    • 2022-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    相关资源
    最近更新 更多