如何编写此语句以从数据库或表中获取值,并验证如果Value = Yes,它将返回“Result = 10”部分。该字段称为“ApprovedStatus”,该值将为“No”或“Yes”。
Visual Studio告诉我:“当前上下文中不存在名称'是'”
If (ApprovedStatus.Equals = Yes)
{
result = 10;
}
else
{
result = 1;
}
答案 0 :(得分:5)
如果是字符串,请尝试if (ApprovedStatus == "Yes")
;如果是字符串,请尝试if (ApprovedStatus)
。
答案 1 :(得分:1)
如果ApprovedStatus的类型为bool,请执行:
if (ApprovedStatus)
如果是字符串,请执行 NOT 执行此操作
if(ApprovedStatus == "Yes")
因为如果ApprovedStatus =“是”
,这将等于 false改为使用
if(StringComparer.OrdinalIgnoreCase.Equals(ApprovedStatus,"Yes"))
result = 10;
else
result = 1;
请注意,如果您这样做
if (ApprovedStatus.ToString().ToUpper().Equals("YES"))
或
if( ApprovedStatus.Equals("whatever",StringComparison.OrdinalIgnoreCase))
如果ApprovedStatus为null,它将抛出空引用异常。
...如果值来自数据库,则可能发生这种情况。
答案 2 :(得分:0)
if (ApprovedStatus.Equals("Yes")) <-- Case Sensitive
{
}
或
if (ApprovedStatus.ToString().ToUpper() == "YES")
{
}
答案 3 :(得分:0)
鉴于可用信息有限,最佳猜测...(假设ApprovedStatus是一个字符串)
if(ApprovedStatus == "Yes")
{
result = 10;
}
else
{
result = 1;
}
或
if(ApprovedStatus.Equals("Yes"))
{
result = 10;
}
else
{
result = 1;
}
答案 4 :(得分:0)
使用String.Compare - 效率更高。
if(String.Compare(ApprovedStatus, "Yes", true)==0){
result = 10;
} else {
result = 1;
}
答案 5 :(得分:0)
C#中的布尔值为true
和false
。您应该参考一个基本的C#教程,但您的检查可能如下所示:
if (ApprovedStatus)
{
result = 10;
}
else
{
result = 1;
}
可以写得更短:
result = ApprovedStatus ? 10 : 1;