-2

我有一本建立在下面的字典

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 :(
}

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

4

2 回答 2

3

在这里使用 LINQ 没有意义。使用ContainsKeyContainsValue代替。

if (!GTNMobilelist.ContainsValue(txtmobileNumber.Text))
    ShowErrorMessage();
于 2012-10-11T11:18:17.720 回答
0

下次,将您的代码发布到现在,然后我们可以指出任何错误。

我不清楚电话号码是在键中还是在值中,但这样的东西应该可以工作。

按键检查:

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

或者,按值检查:

string phoneNumberToLookFor = "12345678";
bool phoneNumberExists = GTNMobilelist.Any(kvp => kvp.Value == phoneNumberToLookFor);
于 2012-10-11T11:13:52.707 回答