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

本文关键字:字段 语句 C#If | 更新日期: 2023-09-27 18:06:38

如何编写此语句以从数据库或表中获取值,并验证如果值=是,它将返回"Result=10"部分。该字段名为"ApprovedStatus",其值为"否"或"是">

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

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

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

如果是字符串,请尝试if (ApprovedStatus == "Yes");如果是布尔,则尝试if (ApprovedStatus)

如果ApprovedStatus的类型为bool,则执行:

if (ApprovedStatus) 

如果是字符串,请执行NOT执行此

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为null,它将抛出null引用异常
…如果该值来自数据库,则可能发生这种情况。

鉴于可用信息有限,最佳猜测。。。(假设ApprovedStatus为字符串(

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

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

使用String.Compare--它更有效。

if(String.Compare(ApprovedStatus, "Yes", true)==0){
 result = 10;
} else {
 result = 1;
}
C#中的布尔值为truefalse。你应该参考一个基本的C#教程,但你的检查可能是这样的:
if (ApprovedStatus)
{
   result = 10;
}
else
{
   result = 1;
}

它可以缩写为:

result = ApprovedStatus ? 10 : 1;
if (ApprovedStatus.Equals("Yes"))  <-- Case Sensitive
{
}

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