C#关键字详解第四节
char: 位 Unicode 字符
char在C#中与C语言不同,他表示的是16位无符号进制的数,在计算机中他是被用来存储字符但是他只能用来存 储一个文字,与string不同string可以存储多个文字或字符,char可以隐式转换成其他类型比如int,string等 但是他不能由其他类型隐式转换过来!他代表字符类型,属于值类型,在C#中表示char str='A'(注意!char 类型只能使用单引号去赋值使用),当然这属于基本类型,而且工作中使用很少,所以不多研究,只需要知道 有这个玩意就行了! checked与unchecked:进行溢出检查
这个家伙可是个大家伙!别看他只是个检查功能,但是他所运用的场景往往是有些参加工作的程序员都不知道 的!在工作中大家直接一个数值类型的赋值给一个一个int变量,这样的场景不少见而且是很多初学者很容易烦 的错!他们往往不考虑这个东西的最大值可以承受多少!比如一个int类型,int类型有一个属性是maxvalue, 当你用maxvalue+1赋值给一个新int变量时,你会发现你的代码出错了,这个不是结构错误,我称它为成员膨胀 !还有一种情况是值类型赋值不会报错但是却会计算错误!仔细检查发现后也不是结构错误,这就是成员膨胀 的另一种体现,因为在代码运算中默认是不会检查算数运算溢出的,你的中央处理器只知道计算他的值,却不 思考这个值是否正确!这个在测试中如果没有被发现的话也会制造数据出错而酿成大祸,所以为了安全起见微 软推出了checked与unchecked这两个关键字,他们可以用来检测在数值计算中的逻辑错误和运算错误!下面看 个例子!
int a = int.MaxValue;
int b=checked(int.MaxValue + );
Console.WriteLine(a);
Console.WriteLine(b); a的值是: 这是int最大值但是我在使用checked是他会提示运算在编译时溢出,这个就避免了我们 因为数值最大值的溢出导致数据错误,有些人说checked是检查了报错,那我用unchecked呢?此处我也试试了 这个用法:
int a = int.MaxValue;
int b=unchecked(int.MaxValue + );
Console.WriteLine(a);
Console.WriteLine(b); 运行可以通过,但是我打印的时候却发现b的值是-,而且他比a的值多一个负号和一个1,这就是溢 出的危险!虽然可以运行但是他所带来的后果绝对是恐怖的!所以以后在赋值的时候要记得什么时候需要用到 溢出检查!或者在项目的属性中点开生成点高级然后勾选溢出检查!这样就可以避免成员膨胀了! class:类
如果你C#学的可以了,准备接触面向对象了,那么类是你学习的第一个接触最重要的关键字,他承载了所有事 物与物体的基本,可以说他是面向对象编程中最基本最不可或缺的构造单位!他实现了万物皆对象的这个说法 !让代码从此丰富多彩!类他是一个数据结构也是一个容器,他有很多成员:字段,属性,方法等7大元素! 成员也分静态与实例成员,这里不过多介绍,因为面向对象的思想一两句话是说不完的,类支持封装、继承、 多态三要素!同时它的成员也包含这三要素,他的访问性是多重的,有public或internal等等,这些都是组成 类(对象)的基本结构!类成员访问时的标识符是“.”(没错就是一个点)操作符!
public(访问修饰符) class(此处是类型) Class1(类名称)//类的基本结构
{
//类成员就在这里!
} 关于类后期介绍面向对象的时候会着重讲解! 今天的关键字介绍到此结束(/),每天的基础巩固就是你成长的一大步!
C#关键字详解第四节的更多相关文章
- C#关键字详解第五节
最近有点忙于追剧<人民的名义>所以并未及时更新,所以大家理解理解,哈哈,这部剧很不错!推荐大家去 看看!下面我们继续C#关键字解释! const:常量 一般我们说常量都是以PI(3.14) ...
- C#关键字详解第六节
3.28 日志记录:前段时间参加技能大赛,所以未更新博客,特此补上,第一次写博客,希望自己认真下去,努力,天道酬勤! 比赛给我的感悟很深!古语云:山外有山,强中自有强中手! do:执行语句 说do之前 ...
- C#关键字详解第二节
base:基类 在有些书中base的解释为表示父类,没错,base可以表示父类,但我更想理解成基类,因为更原始更具象,既 然是类,那么他就符合面向对象的设计规则和特点,我们知道面向对象的三个特点是封装 ...
- OutputCache属性详解(四)— SqlDependency
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- python关键字详解
今天依旧在啃:<笨方法学python>,其中习题37是复习各种关键字.我本想百度一下记一下就ok了,但是百度出来第一个就Hongten的博客.我才意识到我也有博客,我应该学习他,把这些积累 ...
- spring事务详解(四)测试验证
系列目录 spring事务详解(一)初探事务 spring事务详解(二)简单样例 spring事务详解(三)源码详解 spring事务详解(四)测试验证 spring事务详解(五)总结提高 一.引子 ...
- java关键字详解----static
Java Static关键字详解 提起static关键字,相信大家绝对不会陌生,但是,想要完全说明白,猛的一想,发现自己好像又说不太明白... ...比方说,昨天被一个同学问起的时候... ... ...
- java关键字(详解)
目录 1. 基本类型 1) boolean 布尔型 2) byte 字节型 3) char 字符型 4) double 双精度 5) float 浮点 6) int 整型 7) long 长整型 8) ...
- RocketMQ详解(四)核心设计原理
专题目录 RocketMQ详解(一)原理概览 RocketMQ详解(二)安装使用详解 RocketMQ详解(三)启动运行原理 RocketMQ详解(四)核心设计原理 RocketMQ详解(五)总结提高 ...
随机推荐
- ALSA声卡驱动中的DAPM详解之六:精髓所在,牵一发而动全身
设计dapm的主要目的之一,就是希望声卡上的各种部件的电源按需分配,需要的就上电,不需要的就下电,使得整个音频系统总是处于最小的耗电状态,最主要的就是,这一切对用户空间的应用程序是透明的,也就是说,用 ...
- Application.StartupPath获取执行文件路径substring()取特定长度字符串取得根目录
Application.StartupPath获取执行文件路径substring()取特定长度字符串取得根目录 2012-07-20 10:48 257人阅读 评论(0) 收藏 举报 path usi ...
- 【RAID在数据库存储上的应用 】
随着单块磁盘在数据安全.性能.容量上呈现出的局限,磁盘阵列(Redundant Arrays of Inexpensive/Independent Disks,RAID)出现了,RAID把多块独立的磁 ...
- E20170805-hm
mechanize vt. 使机械化; 用机械装置;
- 简单理解jsonp原理
对于javascript程序员来说,发送ajax请求获取后台数据然后把数据和模板拼接成字符串渲染回DOM实现无刷新更新页面这样的操作可谓是轻车熟路.但众所周知,ajax有一个不好,就是不能跨域传输数据 ...
- IDEA报错,注解标红,提示Cannot resolve symbol xxx
一般都是jar包没导进来,可以先看一下setting里maven配置的路径对不对
- 如何写出网页高性能的DOM来提升网页的加载速度
为什么要写高性能DOM? 一个网站,在页面上承载最多内容的就是DOM,而且无论是我们通过加载JS.加载图片,他们也是通过写HTML标签来实现的.而我们性能优化要做的无非就是几大块: 站点的网络消耗 D ...
- Laravel5.1学习笔记12 系统架构4 服务容器
Service Container 介绍 绑定的用法 绑定实例到接口 上下文绑定 标签 解析 容器事件 #介绍 The Laravel service container is a powerful ...
- Android基础TOP2_1:输出系统时间
Activity: <TextView android:id="@+id/tv" android:layout_width="wrap_content" ...
- 关闭掉eclipse启动的自动更新功能(提高打开eclipse的速度)