首页 » 软件优化 » 新阁上位机开发——一道简单的面试题(上位面试题开发布尔类型)

新阁上位机开发——一道简单的面试题(上位面试题开发布尔类型)

神尊大人 2024-11-01 00:26:26 0

扫一扫用手机浏览

文章目录 [+]

或运算中,| 和 || 有什么区别?

分析

我们都知道,在C#中,|和||这两个运算符都可以用来表示或运算,那么他们之间有什么区别呢?

首先,C#中对于值类型来说,我们只能用|来进行位运算,但是对于布尔类型来说,|和||都可以,所以这是他们的区别之一,|既能用于值类型,也可以用于布尔类型,但是||只能用于布尔类型。

新阁上位机开发——一道简单的面试题(上位面试题开发布尔类型) 软件优化
(图片来自网络侵删)

其次,既然|和||都可以用于布尔类型,那么两者有没有什么区别呢?

写了一段简单的C#代码,如下图所示:

如果我们使用||,运行时会发现,Get1方法里的断点可能正常进入,而Get2方法里的断点不会进去,因为对于或运算,当检测到Get1返回值为True之后,不管后续的结果是True还是False,结果均为True,所以就不会进入Get2方法内部了。

如果将Get1的返回值改成False,那么还是会进入Get2方法的。

同样的代码,如果将 || 改成 | ,我们会发现,无论Get1返回True或False,两个方法里的断点,都会进入。

所以,总结就是||会根据前面的执行结果动态执行后面的代码,而|不管前面的执行结果如何,都会执行后面的代码。

同理,对于&和&&也是同样的区别。

大家都记住了吗。

我是新阁上位机开发的付老师,用我的专业,成就你的梦想。

标签:

相关文章