2017-02-22 23 views
0

сперва спасибо для чтения. Я работаю на proyect на Visual Studio 2015 - C#, и я получаю это предупреждение обПредупреждение сравнения непреднамеренных ссылок C#

CS0252 Возможное сравнение непреднамеренных ссылок; Чтобы получить сравнение значений, преобразуйте левую сторону в строку 'string'

Я проверил сайт Microsoft, но я не понимаю, почему появляется предупреждение.

линии, где предупреждение относится:

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() - очень хороший совет, теперь вы будете использовать перегрузку operator ==(), которую предоставляет класс String. –

ответ

1

Вы пытаетесь получить доступ к объекту в виде строки. Вы должны использовать comboBox1.SelectedItem.Value или comboBox1.SelectedValue.

вы должны проверить:

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

 Смежные вопросы

  • Нет связанных вопросов^_^