C#中bool
和Boolean
类型有什么区别?C#中bool和布尔类型有什么区别
回答
bool
是System.Boolean
的别名,就像int
是System.Int32
的别名一样。在这里查看别名的完整列表:Built-In Types Table (C# Reference)。
我不相信有一个。
bool
仅仅是System.Boolean
他们是在同一个别名。布尔只是布尔的别名。
一个是另一个的别名。
它们是相同的。布尔有助于简化C#和VB.Net之间的来回转换。大多数C#程序员倾向于喜欢'bool',但是如果你在一个有很多VB.Net和C#的商店,那么你可能更喜欢布尔值,因为它在两个地方都可以工作。
如前所述,它们是相同的。有两个因为bool是一个C#关键字和布尔一个.Net类。
bool是布尔类的别名。在类中调用方法时,我使用别名来声明变量和类名。
没有什么区别 - bool简直就是System.Boolean的别名。
http://msdn.microsoft.com/en-us/library/c8f5xwh7(VS.71).aspx
我意识到这是很多年以后,但我碰到这个页面跌跌撞撞从谷歌同样的问题。
到目前为止,MSDN页面上有一点小小的区别。
VS2005
注:
如果你需要一个布尔变量,也可以为空,使用布尔值。 有关更多信息,请参见可空类型(C#编程指南)。
VS2010
注:
如果你需要一个布尔变量,也可以为空,使用布尔值? 有关更多信息,请参见可空类型(C#编程指南)。
“布尔”是一个包含方法的结构(例如,Equals(布尔型)& FalseString())。 “bool”是一种只保存0或1的数据类型。
也许布尔是一点点 “更轻” 比布尔值;有趣的是,这个改变:
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)
注意Boolean
只会工作是你有using System;
(通常是,但不一定包括)(除非你把它写成System.Boolean
)。 bool
不需要using System;
它们是一样的,Bool只是缩短了System.Boolean。在使用VB.net程序员时使用布尔值,因为它适用于C#和Vb
bool是一种原始类型,意味着值(真/假在本例中)直接存储在变量中。布尔是一个对象。布尔类型的变量存储对布尔对象的引用。唯一真正的区别是存储。一个对象总是会占用比原始类型更多的内存,但实际上,将所有布尔值更改为布尔值对内存使用率没有任何明显影响。
我错了;这就是它在java中使用布尔值和布尔值的方式。在C#中,布尔和布尔都是引用类型。它们都直接在变量中存储它们的值,它们都不能为null,并且它们都需要一个“convertTO”方法来将它们的值存储在另一个类型中(例如int)。如果您需要调用布尔类中定义的静态函数,那么只使用哪一个。
bool是布尔的别名。别名的作用就是在编译代码之前用另一个文本替换一个文本字符串(如记事本++中的search/replace-all)。在运行时使用一个在另一个上不起作用。
在大多数其他语言中,一个是基本类型,另一个是对象类型(C#术语中的值类型和引用类型)。 C#不允许您在两者之间进行选择。当你想调用一个在布尔类中定义的静态方法时,它会自动将魔术视为一个参考类型。如果您创建了一个新的布尔变量,它会自动将其视为引用类型(除非使用Activator.CreateInstance方法)。
- 1. Objective-C中布尔和布尔之间有什么区别吗?
- 2. C中_Bool和bool类型的区别?
- 3. “bool”和“bool?”有什么区别?
- 4. MySQL BOOL和BOOLEAN列数据类型有什么区别?
- 5. init()和init(_:bool)有什么区别
- 6. true是什么区别?和布尔值
- 7. 泛型类型和泛型类型定义有什么区别?
- 8. printf中%c和%C有什么区别?
- 9. 什么布尔类型
- 10. 这个类中的静态布尔和一个私有静态布尔有什么区别?
- 11. C#中值类型和引用类型之间有什么区别?
- 12. 布尔值上使用as.integer()和+ 0L有什么区别?
- 13. VBA和Javascript布尔表达式有什么区别?
- 14. C#&CLI与值类型和构造函数有什么区别?
- 15. Python中的if bool(x)`和if x`有什么区别吗?
- 16. PostgreSQL中的位和布尔数据类型的区别
- 17. bool和* bool的区别
- 18. C++中#import和#include有什么区别?
- 19. C中#define和'='有什么区别?
- 20. C#中CLR和DLR有什么区别?
- 21. ASN.1枚举类型和选择类型有什么区别?
- 22. 潜类型和Manifest类型有什么区别?
- 23. 类型定义和类型引用有什么区别?
- 24. 发布和迭代有什么区别?
- 25. 什么区别\\。\ C:和\\。\ C:\
- 26. 托管C++和C#有什么区别?
- 27. Managed C++和C++/CLI有什么区别?
- 28. \ c和\\ c有什么区别?
- 29. C++和C++ CLI有什么区别
- 30. Visual C++和C++有什么区别?
从上面的链接微软说C#类型的关键字和他们的别名是可以互换的但为什么我们需要别名,从我的角度来看布尔是更有意义的,然后布尔和Int32更有意义,然后int然后为什么别名? – 2010-03-18 11:39:35
@asim:懒惰?它不那么打字并且避免了导入系统的需要。就个人而言,我更喜欢别名。键入“int”比键入“Int32”要快得多。 – 2010-03-18 13:47:34
@asmin:这是一个C的东西。 int,float等是C和C++程序员熟悉的关键字,因此Microsoft决定使用这些别名来保持一致性。 – 2011-02-03 01:34:16