c#中bool类型和布尔类型的区别是什么?
当前回答
bool是布尔值的别名。别名的作用是在代码编译之前,用另一个文本字符串替换一个文本字符串(如notepad++中的search/replace-all)。在运行时使用其中一个而不是另一个没有任何影响。
在大多数其他语言中,一个是基本类型,另一个是对象类型(c#术语中的值类型和引用类型)。c#没有提供在两者之间进行选择的选项。当您想要调用Boolean类中定义的静态方法时,它会自动魔术般地将Boolean视为引用类型。如果您创建了一个新的布尔变量,它会自动魔术般地将其视为引用类型(除非您使用Activator。CreateInstance除外)方法。
其他回答
我意识到这是多年后的事情了,但我无意中在谷歌上看到了同样的问题。
到目前为止,在MSDN页面上有一个微小的差异。
VS2005
注意: 如果你需要一个布尔变量,也可以有一个null值,使用bool。 有关更多信息,请参见可空类型(c#编程指南)。
VS2010
注意: 如果你需要一个布尔变量,也可以有一个null值,使用bool?。 有关更多信息,请参见可空类型(c#编程指南)。
它们是一样的,Bool就是System。布尔缩短。当你和VB.net程序员一起工作时,使用布尔值,因为它同时适用于c#和Vb
如前所述,它们是一样的。有两个,因为bool是c#关键字,Boolean是. net类。
Bool是一个基本类型,这意味着值(在本例中为true/false)直接存储在变量中。Boolean是一个对象。Boolean类型的变量存储对Boolean对象的引用。唯一真正的区别是存储。对象总是比基本类型占用更多的内存,但实际上,将所有布尔值更改为bool并不会对内存使用产生任何明显的影响。
我错了;这就是java中布尔和布尔函数的工作原理。在c#中,bool和Boolean都是引用类型。它们都直接在变量中存储它们的值,它们都不能为空,并且它们都需要“convertTO”方法以另一种类型(例如int)存储它们的值。只有在需要调用布尔类中定义的静态函数时,使用哪个函数才重要。
注意,布尔只会工作,你有使用系统;(通常包括,但不一定包括)(除非你把它写成System.Boolean)。bool不需要使用System;
推荐文章
- 实体框架核心:在上一个操作完成之前,在此上下文中开始的第二个操作
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 如何使用JSON确保字符串是有效的JSON。网
- AppSettings从.config文件中获取值
- 通过HttpClient向REST API发布一个空体
- 如何检查IEnumerable是否为空或空?
- 自动化invokerrequired代码模式
- 在c#代码中设置WPF文本框的背景颜色
- 在c#中,什么是单子?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- c#线程安全快速(est)计数器
- 如何将此foreach代码转换为Parallel.ForEach?
- 如何分裂()一个分隔字符串到一个列表<字符串>
- 纬度和经度的数据类型是什么?
- 如何转换列表<字符串>列表<int>?