0

检查列表框项目是否存在的方法:

    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);
    }

现在,如果我将例如“瑞典语”保存到我的列表框中,我无法添加“瑞典语”,因为它已经存在。

4

5 回答 5

2

没有大写或小写的替代修复将是:

return valueTextBox.Equals(valueListBox,String.CurrentCultureIgnoreCase);

我还要在这里进行修剪:

string valueTextBox = TextBoxLanguages.Text.Trim();

因为输入文本末尾的空格会破坏相等性。

即“瑞典语”!=“瑞典语”

于 2013-03-25T13:04:35.523 回答
2
private bool ValueAlreadyInListLanguage(object vItem)
{
    string valueTextBox = textBox1.Text;
    string valueListBox = vItem.ToString();

    return valueTextBox.Equals(valueListBox, StringComparison.CurrentCultureIgnoreCase);
}
于 2013-03-25T13:00:38.363 回答
1

在你的比较中试试这个:

return valueTextBox.ToLower() == valueListBox.ToLower();

正如有人在评论中指出的那样 -Swedish不等于swedish- 它识别字母大小写。

于 2013-03-25T12:57:12.503 回答
1

尝试:

private bool ValueAlreadyInListLanguage(object vItem)
{
   return TextBoxLanguages.Text.ToLower().Equals(vItem.ToString().ToLower());
}
于 2013-03-25T12:57:37.597 回答
1

尝试在下面做

    string valueTextBox = TextBoxLanguages.Text.ToUpper();
    string valueListBox = vItem.ToString().ToUpper();
于 2013-03-25T12:59:04.673 回答