2017-02-22 47 views
0

首先感謝您的閱讀。 我在Visual Studio 2015 - C#上工作,我得到這個警告無意引用c的警告比較#

CS0252無意引用的可能比較;爲了得到值的比較,將左側轉換爲'string'類型

我已檢查過微軟網站,但我不明白爲什麼會出現此警告。

在警告參考線:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (comboBox1.SelectedItem == "Por ID Cliente") 
    { 
      txtBoxID.Visible = true; 
      lblID.Visible = true; 
     lblID.Text = "ID Cliente:"; 
    } 
} 

我這樣做是爲了顯示一個標籤,並根據上comboBox1選擇的項目文本框。 當我嘗試編譯它工作!,但我想刪除警告

+0

==操作符是不是虛擬方法。這種比較不太可能是真實的,除了在組合框中添加字符串的情況。可能會發生,爲什麼它是警告而不是錯誤。使用.ToString()是非常好的建議,現在您將使用String類提供的operator ==()重載。 –

回答

1

您正在嘗試訪問該對象作爲字符串。您應該使用comboBox1.SelectedItem.Value或comboBox1.SelectedValue。

你應該檢查:

if (comboBox1.Items.FindByValue("value") != null) { 
    comboBox1.SelectedValue = "value"; 
} 
相關問題