2013-03-25 82 views
0

方法來檢查,如果列表框的項目存在:檢查列表框項目從文本框的值存在

private bool ValueAlreadyInListLanguage(object vItem) 
    { 
     string valueTextBox = TextBoxLanguages.Text; 
     string valueListBox = vItem.ToString(); 

     return valueTextBox == valueListBox; 
    } 

enter image description here

SOLUTION

private bool ValueAlreadyInListLanguage(object vItem) 
    { 
     string valueTextBox = TextBoxLanguages.Text.Trim(); 
     string valueListBox = vItem.ToString(); 

     return valueTextBox.Equals(valueListBox, StringComparison.CurrentCultureIgnoreCase); 
    } 

現在,如果我救例如 「瑞典」到我的列表框中,我無法添加「瑞典語」,因爲它已經存在。

+5

您知道'瑞典語'和'瑞典語'有區別嗎? – Tomtom 2013-03-25 12:53:51

+0

@Tomtom,當然我知道,但我真的不知道如何使方法瞭解它.. – Kriistiian 2013-03-25 12:57:46

+1

@Kriistiian,如果你知道然後去下面的答案.......... – andy 2013-03-25 12:58:37

回答

2

替代修正而uppercasing或lowercasing是:

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

我還放了裝飾在這裏:

string valueTextBox = TextBoxLanguages.Text.Trim(); 

因爲輸入文本末尾的空格會破壞相等性。

即「瑞典語」!=「瑞典語」

+0

你和coolmines的回答都是對的,但是這個更好,謝謝! – Kriistiian 2013-03-25 13:11:16

1

試試這個在您的比較:

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

正如有人在評論中指出 - Swedish不等於swedish - 它識別字母大小寫。

+0

coolmines回答作品。不管怎麼說,還是要謝謝你! – Kriistiian 2013-03-25 13:06:22

1

嘗試:

private bool ValueAlreadyInListLanguage(object vItem) 
{ 
    return TextBoxLanguages.Text.ToLower().Equals(vItem.ToString().ToLower()); 
} 
+0

coolmines解答作品。不管怎麼說,還是要謝謝你! – Kriistiian 2013-03-25 13:06:40

1

嘗試做以下

string valueTextBox = TextBoxLanguages.Text.ToUpper(); 
    string valueListBox = vItem.ToString().ToUpper(); 
+0

coolmines answer works。不管怎麼說,還是要謝謝你! – Kriistiian 2013-03-25 13:06:02

2
private bool ValueAlreadyInListLanguage(object vItem) 
{ 
    string valueTextBox = textBox1.Text; 
    string valueListBox = vItem.ToString(); 

    return valueTextBox.Equals(valueListBox, StringComparison.CurrentCultureIgnoreCase); 
} 
+0

這是一個正確的,它現在的作品。如果我將瑞典語添加到列表框中,我不能用小寫字母添加「瑞典語」。謝謝! – Kriistiian 2013-03-25 13:05:42