C#中的 bool Boolean 类型有什么区别?

有帮助吗?

解决方案

bool System.Boolean 的别名,就像 int System.Int32 的别名一样。请在此处查看完整的别名列表:内置类型表(C#参考)

其他提示

我不相信有一个。

bool 只是 System.Boolean

的别名

他们是同一个人。 bool只是布尔值的别名。

我意识到这是多年之后但我偶然发现了谷歌的这个页面上有同样的问题。

截至目前,MSDN页面上存在一个细微差别。

VS2005

  

注意:

     

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

VS2010

  

注意:

     

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

他们是一样的。 Boolean有助于简化C#和VB.Net之间的来回转换。大多数C#程序员倾向于选择'bool',但是如果你在一个有大量VB.Net和C#的商店,那么你可能更喜欢布尔,因为它适用于两个地方。

一个是另一个的别名。

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

bool是Boolean类的别名。我在类上调用方法时声明变量和类名时使用别名。

它们是相同的,Bool只是缩短了System.Boolean。当你使用VB.net程序员时使用布尔值,因为它适用于C#和Vb

请注意, Boolean 只有在您使用System; <(通常,但不一定包含)的情况下才能使用<(除非您将其写为) System.Boolean )。 bool 不需要使用System;

bool是一种原始类型,意味着值(本例中为true / false)直接存储在变量中。 Boolean是一个对象。 Boolean类型的变量存储对Boolean对象的引用。唯一真正的区别是存储。对象总是占用比基本类型更多的内存,但实际上,将所有布尔值更改为bool不会对内存使用产生任何明显影响。

我错了;这是它在boolean和Boolean的java中的工作原理。在C#中,bool和Boolean都是引用类型。它们都将它们的值直接存储在变量中,它们都不能为空,并且它们都需要“convertTO”。将值存储在另一种类型(如int)中的方法。只有在需要调用Boolean类中定义的静态函数时,才会使用哪一个。

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

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

......对此:

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

...导致我的cs文件发出“using system;”将类型更改回“bool”导致使用子句的头发变灰。

(Visual Studio 2010,WebAPI项目)

bool是Boolean的别名。在编译代码之前,别名所做的是将一个文本字符串替换为另一个文本字符串(例如,在notepad ++中搜索/替换所有内容)。在运行时使用一个而不是另一个。

在大多数其他语言中,一个是原始类型,另一个是对象类型(C#术语中的值类型和引用类型)。 C#不允许您在两者之间进行选择。当您想要调用Boolean类中定义的静态方法时,它会自动将布尔值视为引用类型。如果您创建一个新的布尔变量,它会自动将其视为引用类型(除非您使用Activator.CreateInstance方法)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top