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


当前回答

一个是另一个的别名。

其他回答

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

它们是一样的。

c#程序员倾向于使用bool类型。更少的打字,来自那个语言家族的人感觉更自然。它也保证你得到实际的系统。布尔类型(否则可以在不同的名称空间中创建自己的布尔类型,并且类型解析可能变得不明确)。

但是如果你在一个商店里面有很多VB和VB。Net和c#,那么你可能更喜欢布尔,因为它在两个地方都可以工作,并有助于简化c#和VB.Net之间的转换。

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

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

VS2005

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

VS2010

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

它们是一样的,Bool就是System。布尔缩短。当你和VB.net程序员一起工作时,使用布尔值,因为它同时适用于c#和Vb

一个是另一个的别名。