如何使用C#在asp.net中使用IF语句
本文关键字:IF 语句 net 何使用 asp | 更新日期: 2023-09-27 18:28:35
一旦发现所有这些条件都为真,我就试图发送电子邮件,但我的问题是,即使条件设置为假,它仍在发送电子邮件。例如,如果var3、var4或var5为"否",那么我不想发送电子邮件。以下是我正在检查的伪代码,它们都必须是真的才能发送电子邮件:
If(var1 is not blank And var2 is not set to “YES” And (either var3 OR var4 OR var5 are not set to “NO”)
Then
{
Send_Email();
}
这是我当前的代码:
if var1 != (" ") && var2!= "YES" && var3!= ("NO") || var4!= ("NO") || var5!= ("NO") ))
{
sendEmail();
}
尝试这个
if (var1 != " " && var2!= "YES" && (var3!= "NO" || var4!= "NO" || var5!= "NO"))
{
sendEmail();
}
在实际代码中使用括号的方式与在伪代码中使用的方式相同:
if (var1 != (" ") && var2!= "YES" && (var3!= ("NO") || var4!= ("NO") || var5!= ("NO")))
{
sendEmail();
}
这样做
if( var1 != " " && var2!= "YES" && var3!= "NO" && var4!= "NO" && var5!= "NO" )
{
sendEmail();
}
if either var3 or var4 or var5 is “NO” then I don’t want to send email out.
看起来应该使用逻辑AND(&&
),而使用逻辑OR(||
)
因此,如果var3
、var4
或var5
的ANY不是"NO"
var3!= ("NO") || var4!= ("NO") || var5!= ("NO")
将它们全部更改为&&
,这样您就可以使用
var1 != (" ") && var2!= "YES" && var3!= ("NO") && var4!= ("NO") && var5!= ("NO")
其他一些观察。。。
if语句的开头paren丢失,您应该将其添加到中
if (var1 != (" ") && var2!= "YES" && var3!= ("NO") || var4!= ("NO") || var5!= ("NO") ))
{
sendEmail();
}
其次,很难判断你想要的情况。有了所有的||
和&&
。你应该检查C#的操作顺序,以确保你做得对,如果你做得不对,就用括号括起来。
注意,&&
在||
进行之前进行评估
最后,你还应该用调试器创建一个断点,并确保你的变量是你认为应该是的。记住,你所做的比较是区分大小写的。
if(var1 != (" ") && var2 ! = "YES" && (var3 != ("NO") || var4 != ("NO") || var5 != "NO")))
我猜你的括号错了。
现在,只有当三个变量都不是NO
时,您的检查才会起作用。这可能更清楚:
if (var1 != (" ") &&
var2!= "YES" &&
!(var3 == ("NO") || var4 == ("NO") || var5 == ("NO") ) // Any of these being "NO" will fail the `if` check
)
{
sendEmail();
}
从逻辑上讲,它与相同
if (var1 != (" ") &&
var2!= "YES" &&
(var3 != ("NO") && var4 != ("NO") && var5 != ("NO") )
)
由于您的条件非常大,因此没有什么可以阻止您编写多个小方法来增强可读性。
此外,您应该使用string.IsNullOrEmpty
,而不是检查!= " "
。
private bool IsVar1Blank(string var1)
{
return string.IsNullOrWhiteSpace(var1);
}
private bool IsVar2SetToYes(string var2)
{
return var2 == "YES";
}
private bool IsAnOtherVariableNotSetToNo(string var3, string var4, string var5)
{
return var3 != ("NO") || var4 != ("NO") || var5 != ("NO");
}
你会得到这样的结果:
if (!IsVar1Blank(var1) && !IsVar2SetToYes(var2) && IsAnOtherVariableNotSetToNo(var3, var4, var5)
{
sendEmail();
}
此外,为了始终确保您的代码能够工作,您应该认真考虑编写单元测试。