Why Boolean And bool
从链接(在问题中提到)我的问题是,微软说"c类型关键字及其别名是可以互换的",但为什么我们需要别名,从我的观点来看,布尔值比布尔值更有意义,而int32比int更有意义,那么为什么别名呢????
因为C是为了熟悉,所以有点像C/C++。如果你愿意的话,欢迎你用长名字,但我认为大多数人更喜欢短名字。
因为程序员很懒惰,微软想帮他们一个忙。
我更喜欢长的名字,但大多数前C++程序员将被用于字符串、int、浮点和加倍。
- 为什么投反对票?
- +1"程序员懒惰"是一种美德
- 我相信,甚至在MS的样式指南(StyleCop)中,使用内置别名int、string等来代替完整的类型名。
- 对于懒惰,我更喜欢str而不是string:p
- -1认为微软想给程序员带来任何好处。
- 微软有几千名开发人员,他们中的许多人正在或将要使用.NET开发,所以对使用它的程序员友好是符合他们自身利益的。
- +1对于懒惰的事情,是的,程序员是懒惰的:)
因为在C(1)和C++中,数据类型被命名为EDCOX1,0,EDCX1,1,C是基于C/C++的。
此外,boolean和int32是所有clr语言共享的.NET框架中的名称,但个别语言可以定义自己的别名(例如,vb.net中的Boolean和Integer,以适应该语言的"感觉"。
【1】:C99/带stdbool.h
因为"system.boolean"是mscorlib.dll中的值类型,"bool"是c_中的关键字。如果需要,可以指定自己的程序集,而不是mscorlib,它将实现"bool"、"byte"、"sbyte"、"int"等。
- 亲爱的上帝。我希望我从来没有遇到过一段代码觉得有必要这样做…
- 那么你在哪里回答"为什么我们需要别名"?
- @帕迪:我曾经用过一次,用于特殊的紧凑框架应用。是的-这是一个非常特殊的解决方案。
- @卡玛雷:我们不需要它。它不是核心的别名。"bool"以C语言(可以在.NET以外的其他环境中实现)指定了Bollean数据类型,"System.Boolean"是某些程序集中的类型(结构),C编译器使用该类型映射到C语言中的"bool"关键字。
- C规范将bool定义为System.Boolean的别名。虽然可以自己对其进行黑客攻击/更改,但生成的语言将不符合规范C。