在C#中bool和布尔types有什么区别

在C#中boolBooleantypes有什么区别?

boolSystem.Boolean的别名,就像intSystem.Int32的别名一样。 在这里查看完整的别名列表: 内置types表(C#参考) 。

我不相信有一个。

bool只是System.Boolean的别名

他们是一样的。 布尔只是布尔的别名。

没有区别 – bool简单地是System.Boolean的别名。

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

他们是一样的。 布尔有助于简化C#和VB.Net之间的来回转换。 大多数C#程序员往往更喜欢'布尔',但如果你在一个商店里有很多的VB.Net和C#那么你可能更喜欢布尔值,因为它在两个地方工作。

我意识到这是多年以后,但我偶然发现了同样的问题谷歌的这一页。

到目前为止,在MSDN页面上有一个小的区别。

VS2005

注意:

如果您需要一个也可以为null的布尔variables,请使用bool。 有关更多信息,请参见可空types(C#编程指南)。

VS2010

注意:

如果你需要一个布尔variables,也可以有一个null值,使用bool ?. 有关更多信息,请参见可空types(C#编程指南)。

一个是另一个的别名。

如前所述,它们是一样的。 有两个,因为布尔是一个C#关键字和布尔一个.Net类。

bool是布尔类的别名。 在声明variables时使用别名,在调用类上的方法时使用类名。

他们是一样的,Bool只是System.Boolean缩短了。 在使用VB.net程序员时使用布尔值,因为它可以同时处理C#和Vb

请注意,如果您using System;Boolean将会起作用using System; (通常,但不一定,包括)(除非你把它写成System.Boolean )。 bool不需要using System;

bool是一个原始types,这意味着值(true / false在这种情况下)直接存储在variables中。 布尔是一个对象。 布尔types的variables存储对布尔对象的引用。 唯一真正的区别是存储。 一个对象总是占用比原始types更多的内存,但实际上,将所有布尔值更改为布尔值对内存使用量没有任何明显的影响。

我错了; 这是如何在java中使用布尔和布尔值。 在C#中,bool和Boolean都是引用types。 他们都直接在variables中存储他们的值,他们都不能为null,他们都需要一个“convertTO”方法来存储他们的价值在另一种types(如int)。 如果您需要调用布尔类中定义的静态函数,那么只使用哪一个。

“布尔”是一个包含方法的结构(例如Equals(Boolean)&FalseString())。 “bool”是一个只包含0或1的数据types。

(请参阅: http : //msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k (SYSTEM.BOOLEAN); k (BOOLEAN); k ( TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION% 3dV4.0%22); k(DevLang-CSHARP)&rd = true )

也许布尔比布尔比“轻”一点; 有趣的是,改变这一点:

 namespace DuckbillServerWebAPI.Models { public class Expense { . . . public bool CanUseOnItems { get; set; } } } 

对此:

 namespace DuckbillServerWebAPI.Models { public class Expense { . . . public Boolean CanUseOnItems { get; set; } } } 

…导致我的CS文件发芽“使用系统” 将types改回“bool”导致using子句的头发变成灰色。

(Visual Studio 2010,WebAPI项目)

布尔是布尔的别名。 别名的做法是在编译代码之前用另一个文本(比如记事本++中的search / replace-all)replace一个文本string。 在运行时使用一个在另一个上不起作用。

在大多数其他语言中,一个是基本types,另一个是对象types(C#术语中的值types和引用types)。 C#不允许您在两者之间进行select。 当你想调用一个在布尔类中定义的静态方法时,它会自动地将布尔值视为一个引用types。 如果您创build一个新的布尔variables,它会自动将其视为引用types(除非使用Activator.CreateInstance方法)。