This question already has answers here:
Execution order of conditions in C# If statement
(8个答案)
4年前关闭。
我有一个这样的表达:
会在
(8个答案)
4年前关闭。
我有一个这样的表达:
EqualByComparer comparer;
if (ListEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
EnumerableEqualByComparer.TryGetOrCreate(x, y, out comparer))
{
return comparer.Equals(x, y, compareItem, settings, referencePairs);
}
会在
ListEqualByComparer.TryGetOrCreate
之前始终调用EnumerableEqualByComparer.TryGetOrCreate
吗? 最佳答案
是的,并且由于||
处于短路状态,因此只有在第一个调用返回false
时才进行第二个调用。
根据C#5规范的第7.12.1节:
08-25 23:42