Answers:
bool
是的别名,System.Boolean
就像int
是的别名System.Int32
。在此处查看别名的完整列表:内置类型表(C#参考)。
boolean
并且Boolean
是不一样的东西。一种是原始数据类型,另一种是对象。
没有区别-bool只是System.Boolean的别名。
http://msdn.microsoft.com/zh-CN/library/c8f5xwh7(VS.71).aspx
我知道这是很多年后的事,但我在Google的同一页面上偶然遇到了同样的问题。
到目前为止,MSDN页面上只有一个细微的差别。
VS2005
注意:
如果需要布尔值也可以为null的布尔变量,请使用bool。有关更多信息,请参见可空类型(C#编程指南)。
VS2010
注意:
如果需要布尔值也可以为null的布尔变量,请使用bool?。有关更多信息,请参见可空类型(C#编程指南)。
bool
可以包含null,但Boolean
不能包含null 。即使从较旧的文档到较新的文档都有链接,但我没有足够详尽地阅读较新的文档以注意到唯一的?
区别。
bool是布尔类的别名。在声明变量时使用别名,在类上调用方法时使用类名。
它们是相同的,Bool只是System.Boolean的缩写。当您使用VB.net程序员时,请使用布尔值,因为它可以同时使用C#和Vb
bool是原始类型,意味着值(在这种情况下为true / false)直接存储在变量中。布尔值是一个对象。布尔类型的变量存储对布尔对象的引用。唯一真正的区别是存储。一个对象将总是比原始类型占用更多的内存,但是实际上,将所有布尔值更改为bool不会对内存使用产生任何明显的影响。
我错了; 这就是它在带有boolean和Boolean的java中的工作方式。在C#中,bool和Boolean都是引用类型。它们都直接将其值存储在变量中,它们都不能为null,并且都需要使用“ convertTO”方法将其值存储在另一种类型(例如int)中。仅在需要调用布尔类中定义的静态函数时才使用哪一个。
bool
而Boolean
不是两个不同的类型,一种类型是不是引用类型,你可以调用一个静态方法一个使用两种标识类型,你不这样做,其实需要调用一个ConvertTo
方法将其转换为另一种类型。
bool
和Boolean
都是引用类型”是不正确的。单词bool
和Boolean
都引用相同的类型,并且该类型是值类型,而不是引用类型。
bool是布尔值的别名。别名的作用是在编译代码之前,将一个文本字符串替换为另一个文本字符串(例如notepad ++中的search / replace-all)。在运行时使用另一项无效。
在大多数其他语言中,一种是原始类型,另一种是对象类型(C#行话中的值类型和引用类型)。C#不允许您在两者之间进行选择。当您要调用在Boolean类中定义的静态方法时,它会自动将Boolean视为引用类型。如果创建新的布尔变量,它将自动将其视为引用类型(除非您使用Activator.CreateInstance方法)。
布尔值可能比布尔值“轻”些。有趣的是,更改此:
namespace DuckbillServerWebAPI.Models
{
public class Expense
{
. . .
public bool CanUseOnItems { get; set; }
}
}
...对此:
namespace DuckbillServerWebAPI.Models
{
public class Expense
{
. . .
public Boolean CanUseOnItems { get; set; }
}
}
...导致我的cs文件萌发了“使用系统”;将类型更改回“ bool”会导致using子句的头发变成灰色。
(Visual Studio 2010,WebAPI项目)
System.Boolean
而不仅仅是Boolean
。将using System;
被显示出来,因为它允许Boolean
进行适当解释System.Boolean
。并不是真的那么轻,而是更不那么冗长。