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详解(五)总结提高 ...
随机推荐
- Android App调用MediaRecorder实现录音功能的实例【转】
本文转载自:http://www.jb51.net/article/82281.htm 这篇文章主要介绍了Android App调用MediaRecorder实现录音功能的实例,MediaRecord ...
- 如何理解Apache License, Version 2.0(整理)
如何理解Apache License, Version 2.0(整理) 问题: 最近看到apache发布了2.0版本的License.而且微软也以此发布了部分源代码.我对OpenSource不是特熟, ...
- Codeforces--14D--Two Paths(树的直径)
Two Paths Time Limit: 2000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Submit ...
- 【WIP】客户端JavaScript DOM
创建: 2017/10/12 初步完成: 2017/10/15 更新: 2017/10/14 标题加上[WIP],继续完成 [TODO] 补充暂略的, 搜[略] DOM树 概要 基本 ...
- gulp的使用安装
gulp安装:用cnpm的时候把npm换成cnpm就好了. npm install -g gulp(全局安装,安装一次就好) npm install --save-dev gulp(安装到项目目录下, ...
- VUE移动端禁止双手放大缩小
//index.html <meta name="viewport" content="width=device-width,initial-scale=1.0,u ...
- ZOJ 3666 博弈 SG函数
SG函数: 对于任意状态,定义SG(x)=mex(S),其中S是x的后继状态的SG函数值集合,mex(S)表示不再S内的最小非负整数 SG(X)=0当且仅当x为必败态. 解: 构造一个有向无环图(树) ...
- 关于static函数在类中的定义和使用
刷题的时候遇到了这样一个问题:平时经常使用 sort()函数, 对结构体进行排序, 但是在类中使用时会出现 这样的错误提示:“Solution::cmp”: 函数调用缺少参数列表:请使用“&S ...
- Maven密码加密
第1步执行shell: mvn --encrypt-master-password "SomeMadeUpMasterPassword" {nDpn1bE1vX4HABCDEFG ...
- 实现一个类似于收趣APP的功能
近日想做一个类似于收趣APP软件的一个功能,将头条.微信等其他App的文章能够通过分享微信好友的方式分享到自己的平台软件中. 分享的方式有三种: 1.通过微信好友的方式,将文章分享给收趣. 2.复制文 ...