C #: Если строка списка равна - PullRequest
1 голос
/ 21 ноября 2011

как я могу использовать оператор if, как показано ниже:

 if ( listBox6.SelectedItem.ToString = ("hi")) 
{

}

Я попробовал это и получил ошибку:

Невозможно присвоить ToString, поскольку это «группа методов»

Ответы [ 3 ]

3 голосов
/ 21 ноября 2011
  1. Вызовы методов должны иметь список аргументов в скобках, даже если список пуст.

  2. Оператор равенства равен ==, его не следует путать с оператором присваивания =.

Итак, ваш код должен выглядеть так:

if (listBox6.SelectedItem.ToString() == "hi")
{
}

Обратите внимание, что listBox6.SelectedItem возвращает ноль, если в данный момент нет выбранного элемента. Вызов ToString в этом случае вызывает NullReferenceException во время выполнения. Возможно, безопаснее привести к выбранному элементу вместо строки:

if ((string)listBox6.SelectedItem == "hi")
{
}
1 голос
/ 21 ноября 2011

Вы допустили три ошибки:

1.Вы забыли о парантессе метода ToString().

2.Вы пытаетесь сделать равенство, фактически присваивая значение методу, должно измениться = на ==.

3.Вы забыли, что нулевая проверка может быть причиной проблем в будущем.

Вы можете отредактировать ее, как показано ниже:

if ( listBox6.SelectedItem != null && listBox6.SelectedItem.ToString() == "hi")
0 голосов
/ 21 ноября 2011

Попробуйте:

if(listBox6.SelectedItem.ToString() == "hi") {
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...