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我给出了答案。