-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 を使用する意味はありません。代わりにContainsKeyまたはを使用してください。ContainsValue

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 に答える