用linq查询字典

时间:2012-10-11 11:09:05

标签: c# linq dictionary

我有一个字典,它位于

之下
Dictionary<string, string> GTNMobilelist = new Dictionary<string, string>();
GTNMobilelist = LoadMobileNumbers();

然后,我需要查询字典以检查字典中是否存在已被加入文本框的移动电话号码“希望有意义”: - /

这就是我所拥有的

foreach (GridViewRow HandSetRow in grdvHandSets.Rows)
{
   TextBox txtmobileNumber = (TextBox)HandSetRow.FindControl("txtmobilenumber");

   //I need the linq statement here if the mobile number doesnt exists i need to
   //throw an error saying mobile number doesnt exist within the dictionary
   //iv been looking at linq statements for the past hour and im confused :(
}

任何人都可以帮我快速解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

这里使用LINQ毫无意义。请改用ContainsKeyContainsValue

if (!GTNMobilelist.ContainsValue(txtmobileNumber.Text))
    ShowErrorMessage();

答案 1 :(得分:0)

下次,发布您的代码到目前为止,我们可以指出任何错误。

我不清楚电话号码是在密钥中还是在价值中,但是这样的话应该有效。

按键检查:

string phoneNumberToLookFor = "12345678";
bool phoneNumberExists = GTNMobilelist.Any(kvp => kvp.Key == phoneNumberToLookFor);

或者,按值检查:

string phoneNumberToLookFor = "12345678";
bool phoneNumberExists = GTNMobilelist.Any(kvp => kvp.Value == phoneNumberToLookFor);