作者:wangtao | 2023-09-04 19:53
C#bool
和Boolean
类型有什么区别?
1> Kent Boogaar..:
bool
是一个别名,System.Boolean
就像int
是别名一样System.Int32
.请在此处查看别名的完整列表:内置类型表(C#参考).
@Mikey我很确定Java决定使用这些别名来保持一致性,微软决定使用Java来保持一致...... :-)
@MaxWell在Java中,`boolean`和`Boolean`不是一回事.一种是原始数据类型,另一种是对象.
@asmin:这是一件C事.int,float等是C和C++程序员熟悉的关键字,因此Microsoft决定使用这些别名来保持一致性.
@asim:懒惰?它输入较少,无需导入系统.就个人而言,我更喜欢别名.键入"int"比键入"Int32"要快得多.
从上面的链接microsoft说C#类型的关键字和它们的别名是可以互换的但是为什么我们需要别名,从我的观点来看布尔值更有意义然后bool和Int32比int更有意义然后为什么别名???
这个别名只是给我一个问题.我使用bool因为我认为它是"正确的"类型,然后我很困惑为什么我的"bool"MVC DisplayTemplate没有触发.结果我需要将它命名为Boolean.如果我意识到布尔是官方类型而bool只是方便的别名,我从一开始就使用布尔.
2> bhinks..:
我不相信有一个.
bool
只是一个别名 System.Boolean
3> MagicKat..:
他们是一样的.bool只是布尔的别名.
4> Zach Burling..:
没有区别 - bool只是System.Boolean的别名.
http://msdn.microsoft.com/en-us/library/c8f5xwh7(VS.71).aspx
5> Ryan Buddico..:
我意识到这是多年以后但我偶然发现这个页面来自谷歌同样的问题.
到目前为止,MSDN页面上存在一个细微差别.
VS2005
注意:
如果您需要一个也可以为null的布尔变量,请使用bool.有关更多信息,请参见可空类型(C#编程指南).
VS2010
注意:
如果您需要一个也可以为null的布尔变量,请使用bool?.有关更多信息,请参见可空类型(C#编程指南).
我被这个绊了 - 这似乎是文档中的一个错误.我首先看到了VS2005页面(它在我的Google排名中显得更高!),并认为它暗示`bool`可以包含null,但是`Boolean`不能.即使从旧版本到新版本文档之间存在链接,我也没有仔细阅读新文档以注意单个"?"的区别.
6> Joel Coehoor..:
他们是一样的.Boolean有助于简化C#和VB.Net之间的来回转换.大多数C#程序员倾向于选择'bool',但是如果你在一个有大量VB.Net和C#的商店,那么你可能更喜欢布尔,因为它在两个地方都有效.
7> itsmatt..:
一个是另一个的别名.
8> Carra..:
如前所述,它们是一样的.有两个因为bool是C#关键字而布尔是.Net类.
9> 小智..:
bool是Boolean类的别名.我在类上调用方法时声明变量和类名时使用别名.
出于兴趣 - 你为什么要同时使用它们?我主张使用其中一个.要么使用别名,要么不使用,否则代码看起来混乱和不一致.
混合别名和类名只会增加代码清晰度.选择一个并坚持下去,imho
是的,这是它应该完成的确切方式.int不是类名,你不应该在它上面调用方法.另一方面,它是内置类型,并定义Int32 i; 太冗长而且不自然.
我认为当你不同时使用它们时看起来很麻烦.使用别名声明数据类型并在访问静态方法时使用actuall类名:string x = String.Format("Today is:{0}",DateTime.Now);