Hashtable中如何根据value找到对应的key值
int[] nums = new[] { 1, 2, 4, 5 };
Hashtable hsNums = new Hashtable();
for (int i = 0; i < nums.Length; i++)
{
hsNums.Add(i, nums[i]);
}
int complement = 5;
var obj = hsNums.OfType<DictionaryEntry>().FirstOrDefault(x => x.Value.ToString() == complement.ToString());
Console.WriteLine(obj.Key);
//FirstOrDefault 中的委托比较,要先把类型转成一样的,否则会出错。
var obj1 = hsNums.OfType<DictionaryEntry>().FirstOrDefault(x => x.Value== complement.ToString());
Console.WriteLine(obj1.Key);
运算结果:
第二个因为没有转为对应的类型,所以找不到对应的 key值 。 obj1值是null值 。
还不快抢沙发