Kam*_*yar 2 c# language-features conditional-statements
是否可以合并以下语句:
if (a != null)
{
if (a.Count > 5)
{
// Do some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
只有1个if语句,并且当第一个条件不满足时,不要检查第二个条件.(比如AndAlsoVB.NET中的关键字).就像是:
if (a != null /* if it is null, don't check the next statement */ &&& a.Count > 5)
{
// Do some stuff
}
Run Code Online (Sandbox Code Playgroud)
只是:
if ((a != null) && (a.Count > 5)) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
在C#中,&&运算符短路,这意味着如果左侧表达式为真(例如VB.NET AndElse),它只会计算右手表达式.
And您在VB.NET中习惯使用的关键字不会短路,相当于C#&(按位和)运算符.
(同样,||C#中也有短路,而VB.NET Or就像C#一样|.)