c#中bool类型和布尔类型的区别是什么?


当前回答

没有区别- bool只是System.Boolean的别名。

http://msdn.microsoft.com/en-us/library/c8f5xwh7 (VS.71) . aspx

其他回答

Bool是一个基本类型,这意味着值(在本例中为true/false)直接存储在变量中。Boolean是一个对象。Boolean类型的变量存储对Boolean对象的引用。唯一真正的区别是存储。对象总是比基本类型占用更多的内存,但实际上,将所有布尔值更改为bool并不会对内存使用产生任何明显的影响。

我错了;这就是java中布尔和布尔函数的工作原理。在c#中,bool和Boolean都是引用类型。它们都直接在变量中存储它们的值,它们都不能为空,并且它们都需要“convertTO”方法以另一种类型(例如int)存储它们的值。只有在需要调用布尔类中定义的静态函数时,使用哪个函数才重要。

没有实际的区别,除非你得到类型字符串。 当你使用反射或GetType()时,你得到 {Name = "Boolean" FullName = "系统。布尔”} 为两个。

我意识到这是多年后的事情了,但我无意中在谷歌上看到了同样的问题。

到目前为止,在MSDN页面上有一个微小的差异。

VS2005

注意: 如果你需要一个布尔变量,也可以有一个null值,使用bool。 有关更多信息,请参见可空类型(c#编程指南)。

VS2010

注意: 如果你需要一个布尔变量,也可以有一个null值,使用bool?。 有关更多信息,请参见可空类型(c#编程指南)。

他们是一体的。bool只是布尔值的别名。

一个是另一个的别名。