C # Если заявление со значением из поля в таблице - PullRequest
0 голосов
/ 25 августа 2011

Как мне написать этот оператор, чтобы получить значение обратно из базы данных или таблицы и проверить, что, если Значение = Да, он вернет часть «Результат = 10».Поле называется «ApprovedStatus», значение будет «Нет» или «Да».

Visual Studio сообщает мне следующее: «Имя« Да »не существует в текущем контексте»

If (ApprovedStatus.Equals = Yes)
{
result = 10;
}

else
{
result = 1;
}

Ответы [ 6 ]

5 голосов
/ 25 августа 2011

Попробуйте if (ApprovedStatus == "Yes"), если это строка, или if (ApprovedStatus), если это бул.

1 голос
/ 25 августа 2011

Если ApprovedStatus имеет тип bool, выполните:

if (ApprovedStatus) 

Если это строка, выполните НЕ , выполните

if(ApprovedStatus == "Yes") 

, потому что это будет равно false if ApprovedStatus = "yes"

Вместо этого используйте

if(StringComparer.OrdinalIgnoreCase.Equals(ApprovedStatus,"Yes"))
    result = 10;
else
   result = 1;

Обратите внимание, что если вы выполните

if (ApprovedStatus.ToString().ToUpper().Equals("YES"))

или

if( ApprovedStatus.Equals("whatever",StringComparison.OrdinalIgnoreCase))

будет выдано исключение нулевой ссылки, если ApprovedStatus равен нулю. ... что возможно, если значение поступает из базы данных.

0 голосов
/ 25 августа 2011

Логические значения в C #: true и false.Вам следует обратиться к базовому учебнику по C #, но ваш чек, вероятно, должен выглядеть следующим образом:

if (ApprovedStatus)
{
   result = 10;
}
else
{
   result = 1;
}

Его можно записать короче как:

result = ApprovedStatus ? 10 : 1;
0 голосов
/ 25 августа 2011

Используйте String.Compare - это более эффективно.

if(String.Compare(ApprovedStatus, "Yes", true)==0){
 result = 10;
} else {
 result = 1;
}
0 голосов
/ 25 августа 2011

Наилучшее предположение, учитывая ограниченную доступную информацию ... (Предполагается, что ApprovedStatus является строкой)

if(ApprovedStatus == "Yes") 
{ 
   result = 10; 
} 

else 
{ 
   result = 1; 
} 

или

if(ApprovedStatus.Equals("Yes")) 
{ 
   result = 10; 
} 

else 
{ 
   result = 1; 
} 
0 голосов
/ 25 августа 2011
if (ApprovedStatus.Equals("Yes"))  <-- Case Sensitive
{

}

или

if (ApprovedStatus.ToString().ToUpper() == "YES")
{

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...