2017-02-22 3 views
0

最初に読んでいただきありがとうございます。 私は、Visual Studio 2015でのproyectに取り組んでいる - のC#、と私は意図しない参照のこの警告意図的でない参照の警告比較c#

CS0252可能な比較を取得します。値の比較を行うには、左側に 'string'と入力してください。

私はMicrosoftのWebサイトをチェックしましたが、警告が表示される理由を理解できません。

警告が参照する行:私はラベルとComboBox1の上で選択した項目に応じて、テキストボックスを表示するためにこれをやっている

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

。 コンパイルしようとしましたが、警告を削除します。

+0

演算子==は仮想メソッドではありません。コンボボックスに文字列を追加する場合を除いて、比較は真実ではありません。起こることができます、なぜそれは警告であり、エラーではありません。 .ToString()を使用することは非常に良いアドバイスです。Stringクラスが提供する演算子==()オーバーロードを使用するようになりました。 –

答えて

1

オブジェクトに文字列としてアクセスしようとしています。 comboBox1.SelectedItem.ValueまたはcomboBox1.SelectedValueを使用する必要があります。

あなたは確認する必要があります:

if (comboBox1.Items.FindByValue("value") != null) { 
    comboBox1.SelectedValue = "value"; 
} 
関連する問題