在哈希表c#中按值获取键

mot*_*z99 5 c# hashtable

我想得到我的价值的关键,但这不可能在Hashtable中
有数据担架吗?

    Hashtable x = new Hashtable();
    x.Add("1", "10");
    x.Add("2", "20");
    x.Add("3", "30");

    x.GetKey(20);//equal 2
Run Code Online (Sandbox Code Playgroud)

slo*_*oth 9

如果你的所有键都是字符串.

var key = x.Keys.OfType<String>().FirstOrDefault(s => x[s] == "20")
Run Code Online (Sandbox Code Playgroud)

或者更好地使用词典:

Dictionary<string, string> x = new Dictionary<string, string>();
x.Add("1", "10");
x.Add("2", "20");
x.Add("3", "30");

string result = x.Keys.FirstOrDefault(s => x[s] == "20");
Run Code Online (Sandbox Code Playgroud)

如果您知道您的值将始终只有一个不同的键,请使用Single而不是FirstOrDefault.