0

如何编写此语句以从数据库或表中获取值并验证如果 Value = Yes 它将返回“Result = 10”部分。该字段称为“ApprovedStatus”,其值为“No”或“Yes”。

Visual Studio 告诉我:“当前上下文中不存在名称‘是’”

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

else
{
result = 1;
}
4

6 回答 6

5

试试if (ApprovedStatus == "Yes")它是字符串还是if (ApprovedStatus)布尔值。

于 2011-08-24T20:18:25.797 回答
1

如果 ApprovedStatus 是 bool 类型,请执行以下操作:

if (ApprovedStatus) 

如果它是字符串,要这样做

if(ApprovedStatus == "Yes") 

因为如果 ApprovedStatus = "yes"这将等于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 为空,它将抛出空引用异常。
...如果值来自数据库,这很可能。

于 2011-08-24T20:24:22.810 回答
0
if (ApprovedStatus.Equals("Yes"))  <-- Case Sensitive
{

}

或者

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

}
于 2011-08-24T20:19:02.157 回答
0

鉴于可用信息有限,最好的猜测......(假设 ApprovedStatus 是一个字符串)

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

else 
{ 
   result = 1; 
} 

或者

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

else 
{ 
   result = 1; 
} 
于 2011-08-24T20:19:34.530 回答
0

使用 String.Compare - 它更有效。

if(String.Compare(ApprovedStatus, "Yes", true)==0){
 result = 10;
} else {
 result = 1;
}
于 2011-08-24T20:20:44.793 回答
0

C# 中的布尔值是truefalse。您应该查阅基本的 C# 教程,但您的检查可能看起来像这样:

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

它可以写得更短:

result = ApprovedStatus ? 10 : 1;
于 2011-08-24T20:21:24.543 回答