检查列表框项是否存在的方法:
private bool ValueAlreadyInListLanguage(object vItem)
{
string valueTextBox = TextBoxLanguages.Text;
string valueListBox = vItem.ToString();
return valueTextBox == valueListBox;
}
解
private bool ValueAlreadyInListLanguage(object vItem)
{
string valueTextBox = TextBoxLanguages.Text.Trim();
string valueListBox = vItem.ToString();
return valueTextBox.Equals(valueListBox, StringComparison.CurrentCultureIgnoreCase);
}
现在,如果我将“瑞典语”保存到我的列表框中,我就无法添加“瑞典语”,因为它已经存在。
答案 0 :(得分:2)
private bool ValueAlreadyInListLanguage(object vItem)
{
string valueTextBox = textBox1.Text;
string valueListBox = vItem.ToString();
return valueTextBox.Equals(valueListBox, StringComparison.CurrentCultureIgnoreCase);
}
答案 1 :(得分:2)
没有大写或小写的替代修复方法是:
return valueTextBox.Equals(valueListBox,String.CurrentCultureIgnoreCase);
我也在这里修剪:
string valueTextBox = TextBoxLanguages.Text.Trim();
因为输入文本末尾的空格会破坏相等性。
即。 “瑞典语”!=“瑞典语”
答案 2 :(得分:1)
在你的比较中试试这个:
return valueTextBox.ToLower() == valueListBox.ToLower();
正如有人在评论中指出的那样 - Swedish
不等于swedish
- 它会识别字母大小写。
答案 3 :(得分:1)
尝试:
private bool ValueAlreadyInListLanguage(object vItem)
{
return TextBoxLanguages.Text.ToLower().Equals(vItem.ToString().ToLower());
}
答案 4 :(得分:1)
尝试以下
string valueTextBox = TextBoxLanguages.Text.ToUpper();
string valueListBox = vItem.ToString().ToUpper();