c#中bool类型和布尔类型的区别是什么?


当前回答

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

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项目)

其他回答

它们是一样的,Bool就是System。布尔缩短。当你和VB.net程序员一起工作时,使用布尔值,因为它同时适用于c#和Vb

注意,布尔只会工作,你有使用系统;(通常包括,但不一定包括)(除非你把它写成System.Boolean)。bool不需要使用System;

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

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

没有区别- bool只是System.Boolean的别名。

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

bool是System的别名。布尔值,就像int是System.Int32的别名一样。查看别名的完整列表:内置类型表(c#参考)。