bool和Boolean
2016-02-16 17:11
211 查看
引言
在敲机房合作的时候遇到这么一个有趣的现象,之前肯定也遇到过,不过是没有注意罢了。在写一个方法或者是定义一个变量的时候,如果返回值是布尔型的,我们可以写成bool,也可以写成Boolean,这个时候我就开始较真儿了。这两个虽然都表示布尔类型,但是到底有什么区别呢?然后我就开始查。结论
1、 bool是基本值类型,Boolean是对象。2、 Bool是Boolean的别名。Bool是C#中的,Boolean是.net Framework中的。
MSDN中解释bool与Boolean的关系是:bool关键字是System.Boolean的别名。实际使用无任何差别。它们的成员也是一样的。
通俗点说就是:bool就像你的乳名,爹妈及内部所属成员都认识,Boolean就像你的学名。大家都认识。不过不管按照乳名还是学名称呼你,最终目的是一样的,称呼的都是你这个人。
例子
1、using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(typeof(bool).BaseType.FullName);
Console.WriteLine(sizeof(bool));
Console.WriteLine(typeof(Boolean).BaseType.FullName);
Console.WriteLine(sizeof(Boolean));
Console.ReadKey();
}
}
}
结果:
输出结果证明bool的和Boolean都是值类型,长度都为1。
2、
当我们把using System注释掉之后,Boolean就会提示找不到类型或命名空间……所以两者还是有一点区别的。
总结
问题都是我们一点一点发现的,知识也是一点一点深入的。有的时候很基础的问题,我们没有注意到不是因为他太小,是这个阶段我们的关注点不在这,所以会忽略,老师总说我们的学习是重复的,其实也就是温故而知新的意思。我们会在重复的过程中更加深入和全面。相关文章推荐
- iOS CAShapeLayer和UIBezierPath绘图
- 使用Handler可能导致的内存泄露
- 16年的开篇
- iOS9 中关闭ATS的方法(网络请求失败)
- 创业公司如何走高性能服务端优化之路
- 16年的开篇
- 根据路径获取视频、图片的缩略图
- Traversal框架 neo4j
- iOS中关于证书签发者无效的问题
- shell脚本expect命令send特殊字符
- python 转换 Javascript %u 字符串为 python unicode
- linux系统的安装
- linux 查看系统信息
- getDimension方法的一些坑
- Android EventBus开源项目
- 纵表和横表的概念及其相互转换
- InnovEDA PowerPCB/BGA Suite 4.0.1 + InnovEDA Visual HDL V6.7.8 for Verlog
- 怎样让pl sql developer 界面视图复位
- debian服务器上不了网,缺少默认网关
- Overview of Flashback Technology