Sha*_*nan 1 c# logical-operators
这可能是愚蠢的.但我有一个简单的疑问假设我在函数中有以下检查
bool Validate(string a , string b)
{
if(a == null || b == null)
{
throw new NullReferenceException();
}
else
{
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以使用按位OR进行验证,如下所示
if(a == null | b == null)
Run Code Online (Sandbox Code Playgroud)
在布尔表达式(而不是整数等)中,主要区别在于:短路.||短路.|才不是.在大多数情况下,您需要短路,因此||更为常见.在你的情况下,它没关系,所以||应该用作更期望的选择.
重要的时间是:
if(politics.IsCeasefire() | army.LaunchTheRockets()) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
VS:
if(politics.IsCeasefire() || army.LaunchTheRockets()) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
第一个总是两个都做(假设没有抛出异常); 如果停火被召唤,第二次没有发射火箭.
| 归档时间: |
|
| 查看次数: |
141 次 |
| 最近记录: |