当前位置: 首页 > 编程语言 > C#

逻辑表达式中的所有方法都会被执行吗?共享

时间:2023-04-10 12:06:26 C#

会执行逻辑表达式中的所有方法吗?在C#中,给出了两个方法boolAction1(objectData);boolAction2(对象数据);在if语句中使用,如下所示:因为已知表达式的计算结果为真?只有在Action1()返回假时才会调用它Action2()这在概念上类似于if(Action1(Data)){PerformOtherAction();}elseif(Action2(Data)){PerformOtherAction();}不,C#支持逻辑短路,所以如果Action1返回真,它永远不会评估Action2。这个简单的例子展示了C#如何处理逻辑短路:usingSystem;classProgram{staticvoidMain(){if(True()||False()){}//只输出“true”if(False()||True()){}//输出“false”和“true”if(False()&&True()){}//只输出“false”if(True()&&False()){}//输出“true”和“false”}staticboolTrue(){Console.WriteLine("true");返回true;}staticboolFalse(){Console.WriteLine("false");返回假;您可以使用单个|或&获得两个方法执行。这是BrainbenchC#考试希望您了解的技巧之一。在现实世界中可能没有任何用处,但仍然很高兴知道。此外,它还可以让您以创造性和狡猾的方式迷惑您的同事。由于短路评估规则,如果Action1返回true,则不会调用Action2。请注意,这是运行时优化,而不是编译时优化。如果Action1()返回true,则不会评估Action2()。C#(如C和C++)使用短路求值。此处的MSDN链接对其进行了验证。以上就是C#学习教程:逻辑表达式中的所有方法都会被执行吗?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: