What is the difference between bool and Boolean types in C#
c_中的
我不相信有。
它们是一体的。bool只是布尔值的别名。
没有区别-bool只是System.Boolean的别名。
http://msdn.microsoft.com/en-us/library/c8f5xwh7(vs.71).aspx
我意识到这是很多年后的事了,但我在谷歌的网页上偶然发现了同样的问题。
到目前为止,在msdn页面上有一个微小的差异。
VS2005
Note:
If you require a Boolean variable that can also have a value of null, use bool.
For more information, see Nullable Types (C# Programming Guide).
VS2010
Note:
If you require a Boolean variable that can also have a value of null, use bool?.
For more information, see Nullable Types (C# Programming Guide).
它们是一样的。布尔值有助于简化C和vb.net之间的来回转换。大多数C程序员倾向于选择"bool",但是如果你在一个既有vb.net又有C的商店里,那么你可能更喜欢布尔值,因为它在这两个地方都有效。
如前所述,它们是相同的。有两个原因,因为bool是C关键字,而boolean是.NET类。
一个是另一个的别名。
bool是布尔类的别名。我在声明变量时使用别名,在对类调用方法时使用类名。
它们是一样的,bool只是系统,boolean被缩短了。当你和一个vb.net程序员在一起时使用boolean,因为它同时与c和vb一起工作。
注意,
bool是一个基元类型,这意味着值(本例中为真/假)直接存储在变量中。布尔值是一个对象。Boolean类型的变量存储对Boolean对象的引用。唯一的区别是存储。对象总是比基元类型占用更多的内存,但实际上,将所有布尔值更改为bool不会对内存使用产生任何明显的影响。
我错了,它是如何在Java中使用布尔和布尔的。在C中,bool和boolean都是引用类型。它们都将值直接存储在变量中,两者都不能为空,并且都需要"convertto"方法将值存储在其他类型(如int)中。只有在需要调用布尔类中定义的静态函数时,才需要使用哪个函数。
bool是布尔的别名。别名的作用是在编译代码之前将一个文本字符串替换为另一个文本字符串(如notepad++中的search/replace all)。在运行时使用一个对另一个没有影响。
在大多数其他语言中,一种是原始类型,另一种是对象类型(C语言中的值类型和引用类型)。C不允许您在两者之间进行选择。当您想要调用一个在布尔类中定义的静态方法时,它会自动神奇地将布尔值视为一个引用类型。如果创建一个新的布尔变量,它会自动神奇地将其视为引用类型(除非使用activator.createInstance方法)。
也许bool比boolean轻一点;有趣的是,改变了这一点:
1 2 3 4 5 6 7 8 | namespace DuckbillServerWebAPI.Models { public class Expense { . . . public bool CanUseOnItems { get; set; } } } |
……
1 2 3 4 5 6 7 8 | namespace DuckbillServerWebAPI.Models { public class Expense { . . . public Boolean CanUseOnItems { get; set; } } } |
…导致我的cs文件产生了一个"using system";将类型改回"bool"导致using子句的头发变灰。
(Visual Studio 2010,WebAPI项目)