string.contains 项来自组合框
string.contains item from combobox
又是一个复杂的问题,我到处找了找也只能找到'how do i find a string in a combo box'
的答案
我想知道相反的情况。我有一个充满城市(字符串)的组合框,我收到了一个地址字符串。
我想搜索我的地址字符串,看看它是否包含当前在我的组合框中的任何一个城市。
例如。组合框包含:伦敦、巴黎、柏林
传入的地址:
- 123, street, town, London, Postcode (True)
- 123, street, town, 罗马,
邮政编码(错误)
我的思路是
address.Contains(combobox.Any().ToString());
但是你可能会说,那是行不通的!
I would like to search my address string to see if it contains any one of the cities currently in my combo box.
bool addressContainsCity = combobox.Items.OfType<string>.Any(item => address.Contains(item));
或
bool addressContainsCity = combobox.Items.Cast<string>.Any(item => address.Contains(item));
如果您的 ComboBox
包含所有字符串项,那么您可以使用 Enumerable.OfType<string>
,然后应用 LINQ 运算符 Any
,例如:
bool ifExist = combobox.Items.OfType<string>()
.Any(cbItem => address.Contains(cbItem);
对于不区分大小写的比较,请执行:
bool ifExist = combobox.Items.OfType<string>()
.Any(cbItem => address.IndexOf(cbItem,
StringComparison.InvariantCultureIgnoreCase)
> -1);
如果您不喜欢 LINQ:
对所有组合框项进行 for 循环,并对组合框项的所有字符串值调用 address.Contains()
。
好吧,您可以通过多种方式来做到这一点。这就是我处理它的方式:
string[] arg = address.Split(',');
combobox.Items.Contains(arg[3]);
如果我理解您要执行的操作,这应该可行,并且城市在字符串中始终处于相同位置。
又是一个复杂的问题,我到处找了找也只能找到'how do i find a string in a combo box'
的答案我想知道相反的情况。我有一个充满城市(字符串)的组合框,我收到了一个地址字符串。
我想搜索我的地址字符串,看看它是否包含当前在我的组合框中的任何一个城市。
例如。组合框包含:伦敦、巴黎、柏林
传入的地址:
- 123, street, town, London, Postcode (True)
- 123, street, town, 罗马, 邮政编码(错误)
我的思路是
address.Contains(combobox.Any().ToString());
但是你可能会说,那是行不通的!
I would like to search my address string to see if it contains any one of the cities currently in my combo box.
bool addressContainsCity = combobox.Items.OfType<string>.Any(item => address.Contains(item));
或
bool addressContainsCity = combobox.Items.Cast<string>.Any(item => address.Contains(item));
如果您的 ComboBox
包含所有字符串项,那么您可以使用 Enumerable.OfType<string>
,然后应用 LINQ 运算符 Any
,例如:
bool ifExist = combobox.Items.OfType<string>()
.Any(cbItem => address.Contains(cbItem);
对于不区分大小写的比较,请执行:
bool ifExist = combobox.Items.OfType<string>()
.Any(cbItem => address.IndexOf(cbItem,
StringComparison.InvariantCultureIgnoreCase)
> -1);
如果您不喜欢 LINQ:
对所有组合框项进行 for 循环,并对组合框项的所有字符串值调用 address.Contains()
。
好吧,您可以通过多种方式来做到这一点。这就是我处理它的方式:
string[] arg = address.Split(',');
combobox.Items.Contains(arg[3]);
如果我理解您要执行的操作,这应该可行,并且城市在字符串中始终处于相同位置。