C#If语句,其值来自表中的字段

时间:2011-08-24 20:16:43

标签: c# database if-statement visual-studio-lightswitch

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

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

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

else
{
result = 1;
}

6 个答案:

答案 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#中的布尔值为truefalse。您应该参考一个基本的C#教程,但您的检查可能如下所示:

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

可以写得更短:

result = ApprovedStatus ? 10 : 1;