好的,我已经多次阅读了这方面的内容,但我仍然没有听到一种清晰、易于理解(而且易于记忆)的学习以下两个概念之间区别的方法:
if (x | y)
并且。if (x || y)
在C#的上下文中,...能否有人帮我学习这个基本真理,以及C#如何特别处理它们(因为它们似乎做了同样的事情)。如果一个给定的代码片段在它们之间的差异是无关紧要的,那么我应该默认使用哪个作为最佳实践?
好的,我已经多次阅读了这方面的内容,但我仍然没有听到一种清晰、易于理解(而且易于记忆)的学习以下两个概念之间区别的方法:
if (x | y)
并且。if (x || y)
在C#的上下文中,...能否有人帮我学习这个基本真理,以及C#如何特别处理它们(因为它们似乎做了同样的事情)。如果一个给定的代码片段在它们之间的差异是无关紧要的,那么我应该默认使用哪个作为最佳实践?
if (func1() || func2()) {func3();}
等同于
if (func1())
{
func3();
}
else
{
if (func2()) {func3();}
}
这可能是节省处理时间的一种方法。如果func2()需要很长时间来处理,那么如果func1()已经为true,您就不希望执行它。
& vs &&
在&与&&的情况下,情况类似,只有在第一部分为TRUE时才会评估第二部分。例如:
if (func1() && func2()) {func3();}
等同于
if (func1())
{
if (func2()) {func3();}}
}