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详解(五)总结提高 ...
随机推荐
- linux 网络编程-基础篇01
#Socket简介 是一个编程接口是一种特殊的文件描述符(everything in Unix is a file)并不仅限于TCPIP协议面向连接(Transmission Control Prot ...
- tiny4412 裸机程序 六、重定位代码到IRAM+0x8000【转】
本文转载自:http://blog.csdn.net/eshing/article/details/37115697 一.重定向 对于程序而言,我们需要理解两个概念,一是程序当前所处的地址,即程序在运 ...
- 【Apio2009】Bzoj1179 Atm
目录 List Description Input Output Sample Input Sample Output HINT Solution Code Dfs 记忆化搜索 Position: h ...
- Scikit-learn库中的数据预处理(一)
数据标准化:当单个特征的样本取值相差甚大或明显不遵从高斯正态分布时,标准化表现的效果较差.实际操作中,经常忽略特征数据的分布形状,移除每个特征均值,划分离散特征的标准差,从而等级化,进而实现数据中心化 ...
- bzoj1977 [BeiJing2010组队]次小生成树 Tree——严格次小生成树
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1977 因为严格,所以要记录到 LCA 的一个次小值: 很快写好,然后改掉一堆错误后终于过了样 ...
- 元素类型以及overflow,white-space等属性
1:预格式化标签:<pre></pre>2:overflow属性="visible/hidden(隐藏)"/scroll/auto(自动)/inherit; ...
- Graphics.DrawMeshInstanced
Draw the same mesh multiple times using GPU instancing. 可以免去创建和管理gameObj的开销 并不是立即绘制,如需:Graphics.Draw ...
- [Apple开发者帐户帮助]六、配置应用服务(5.3)推送通知(APN):从您的Web服务器发送推送通知
要使用APN从Web服务器向macOS用户发送推送通知,请注册网站推送标识符并创建网站推送证书. 对于每个网站,请注册一个网站推送标识符,用于验证通知是否来自您的服务器.然后创建一个网站推送证书以签署 ...
- wcf 代理配置
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSett ...
- Kafka详解与总结(一)
1. Kafka概述 1.1. 消息队列 1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除) 点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消息推 ...