Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在组合框项目中搜索_C#_Winforms - Fatal编程技术网

C# 在组合框项目中搜索

C# 在组合框项目中搜索,c#,winforms,C#,Winforms,我有一个包含以下项目的组合框: AA、BB、CC 然后我有一个DataGridView,其行如下所示: Remarks ------- AAA BBB CCC DDD 我需要检查组合框项目中是否存在DataGridView的选定值 我试过这个: if (combobox.Items.Contains ("AAA")) { } 但即使组合框项目上有“AAA”,它也总是返回false。您的gridView项目是: AAA BBB CCC DDD 请注意,它们各为3个字符,而您的组合框

我有一个包含以下项目的组合框:
AA、BB、CC

然后我有一个DataGridView,其行如下所示:

Remarks
-------
 AAA
 BBB
 CCC
 DDD
我需要检查组合框项目中是否存在DataGridView的选定值

我试过这个:

if (combobox.Items.Contains ("AAA")) {

}

但即使组合框项目上有“AAA”,它也总是返回false。

您的gridView项目是:

AAA
BBB
CCC
DDD
请注意,它们各为3个字符,而您的
组合框

AA
BB
CC
而为了让您能够返回以下内容
true

comboBox.Items.Contains("AAA")
您的
组合框中必须有精确的
AAA
项。因此,它解释了为什么返回
false
。要修复此问题,您的
组合框
必须包含
BBB
CCC
,而不是
AA
BB
CC

此外,请注意,如果使用
字符串
,则:

string val = "AAA";
if (val.Contains("AA")){ //will return true
    //will be executed
}
但如果你把它颠倒过来:

string val = "AA";
if (val.Contains("AAA")){ //will return false
    //will not be executed
}
这是因为
string.Contains
将返回
true
,只要
包含
参数时存在匹配的
子字符串

但是

对于集合,假设您有带有以下项的组合框

AAA
BBB
CCC
然后,如果您试图找到:

if(comboBox.Items.Contains("AA")) //note that this has one less A

你不会找到它。这是因为在上述情况下,
Contains
要返回
true
,给定的参数(在上述情况下为
AA
)必须与集合中的元素完全匹配,而与元素的子字符串不匹配。

您尝试了什么?你说的比赛是什么意思?这些值如何相互匹配?
comboBox.Items.Contains(selectedGridValue)
?这是wpf还是windows窗体?请查看更新的问题。谢谢。@QKWS我给出了答案。