首页 文章

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

提问于
浏览
301

C#中 boolBoolean 类型有什么区别?

14 回答

  • 14

    boolSystem.Boolean 的别名,因为 intSystem.Int32 的别名 . 请在此处查看别名的完整列表:Built-In Types Table (C# Reference) .

  • 1

    我不相信有一个 .

    bool 只是 System.Boolean 的别名

  • 5

    他们是一样的 . bool只是布尔值的别名 .

  • 348

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

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

  • 9

    我意识到这是多年以后但我偶然发现这个页面来自谷歌同样的问题 .

    到目前为止,MSDN页面上存在一个细微差别 .

    VS2005

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

    VS2010

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

  • 18

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

  • 13

    一个是另一个的别名 .

  • 2

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

  • 41

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

  • 0

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

  • -1

    请注意 Boolean 仅在您拥有 using System; (通常但不一定包括在内)时才起作用(除非您将其写为 System.Boolean ) . bool 不需要 using System;

  • 9

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

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

  • 22

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

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

  • -1

    bool是Boolean的别名 . 别名的作用是在编译代码之前将一个文本字符串替换为另一个文本字符串(如记事本中的search / replace-all) . 在运行时使用一个在另一个上没有影响 .

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

相关问题