zeshanazam Ответов: 5

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


if (dt.Rows[0]["Gender"] == "Male")
                                   {
                                       rdomale.Checked = true;
                                   }
                                   else
                                   {
                                       rdofemale.Checked = true;
                                   }

5 Ответов

Рейтинг:
39

Pete O'Hanlon

dt.Rows[0]["Gender"] есть объект - добавить .ToString() в конце получить строковое значение.


zeshanazam

ничего не случилось, такое же предупреждение существует.

Pete O'Hanlon

Теперь ваша строка читается if (dt.Rows[0]["Gender"].ToString() == "Мужской") ?

Pete O'Hanlon

Если это не работает для вас, измените его на следующее: if ((string)dt.Rows[0]["Gender"] == "Male")

Рейтинг:
1

Mohd. Mukhtar

Привет,

Обновите свой код, как показано ниже.

if(dt!=null &&dt.Rows.Count>0 && Convert.ToString(dt.Rows[0]["Gender"]).Equals("Male"))
{
 rdomale.Checked = true;
}
else
{
 rdofemale.Checked = true;
}


Вот И Обращайся.ToString также проверяет наличие нулевого исключения.

Надеюсь, это вам поможет.


Рейтинг:
1

Subrata.In

Вы получаете проблему, потому что таблица не имеет строк.
Попробовать это:

rdomale.Checked=(dt.Rows.Count>0 && dt.Rows[0]["Gender"].ToString() == "Male");
rdofemale.Checked = (!rdomale.Checked);


Рейтинг:
0

Dominic Abraham

Привет
Попробовать это.

if (dt.Rows.Count>0 && dt.Rows[0]["Gender"].ToString().Equals("Male"))
{
  rdomale.Checked = true;
}
else
{
  rdofemale.Checked = true;
}


Рейтинг:
0

Member 14825171

приведите "самца" первым в кондитон