• C#关键字详解第四节


    char16 位 Unicode 字符
    char在C#中与C语言不同,他表示的是16位无符号进制的数,在计算机中他是被用来存储字符但是他只能用来存
    
    
    储一个文字,与string不同string可以存储多个文字或字符,char可以隐式转换成其他类型比如int,string等
    
    
    但是他不能由其他类型隐式转换过来!他代表字符类型,属于值类型,在C#中表示char str='A'(注意!char
    
    
    类型只能使用单引号去赋值使用),当然这属于基本类型,而且工作中使用很少,所以不多研究,只需要知道
    
    
    有这个玩意就行了!
    
    checkedunchecked:进行溢出检查
    这个家伙可是个大家伙!别看他只是个检查功能,但是他所运用的场景往往是有些参加工作的程序员都不知道
    
    
    的!在工作中大家直接一个数值类型的赋值给一个一个int变量,这样的场景不少见而且是很多初学者很容易烦
    
    
    的错!他们往往不考虑这个东西的最大值可以承受多少!比如一个int类型,int类型有一个属性是maxvalue,
    
    
    当你用maxvalue+1赋值给一个新int变量时,你会发现你的代码出错了,这个不是结构错误,我称它为成员膨胀
    
    
    !还有一种情况是值类型赋值不会报错但是却会计算错误!仔细检查发现后也不是结构错误,这就是成员膨胀
    
    
    的另一种体现,因为在代码运算中默认是不会检查算数运算溢出的,你的中央处理器只知道计算他的值,却不
    
    
    思考这个值是否正确!这个在测试中如果没有被发现的话也会制造数据出错而酿成大祸,所以为了安全起见微
    
    
    软推出了checked与unchecked这两个关键字,他们可以用来检测在数值计算中的逻辑错误和运算错误!下面看
    
    
    个例子!
    int a = int.MaxValue;
    int b=checked(int.MaxValue + 1);         
    Console.WriteLine(a);
    Console.WriteLine(b);
    
    a的值是:2147483647 这是int最大值但是我在使用checked是他会提示运算在编译时溢出,这个就避免了我们
    
    
    因为数值最大值的溢出导致数据错误,有些人说checked是检查了报错,那我用unchecked呢?此处我也试试了
    
    
    这个用法:
    int a = int.MaxValue;
    int b=unchecked(int.MaxValue + 1);         
    Console.WriteLine(a);
    Console.WriteLine(b);
    
    运行可以通过,但是我打印的时候却发现b的值是-2147483648,而且他比a的值多一个负号和一个1,这就是溢
    
    
    出的危险!虽然可以运行但是他所带来的后果绝对是恐怖的!所以以后在赋值的时候要记得什么时候需要用到
    
    
    溢出检查!或者在项目的属性中点开生成点高级然后勾选溢出检查!这样就可以避免成员膨胀了!
    
    class:类
    如果你C#学的可以了,准备接触面向对象了,那么类是你学习的第一个接触最重要的关键字,他承载了所有事
    
    
    物与物体的基本,可以说他是面向对象编程中最基本最不可或缺的构造单位!他实现了万物皆对象的这个说法
    
    
    !让代码从此丰富多彩!类他是一个数据结构也是一个容器,他有很多成员:字段,属性,方法等7大元素!
    
    成员也分静态与实例成员,这里不过多介绍,因为面向对象的思想一两句话是说不完的,类支持封装、继承、
    
    
    多态三要素!同时它的成员也包含这三要素,他的访问性是多重的,有public或internal等等,这些都是组成
    
    
    类(对象)的基本结构!类成员访问时的标识符是“.”(没错就是一个点)操作符!
    public(访问修饰符) class(此处是类型) Class1(类名称)//类的基本结构
    {
        //类成员就在这里!
    }
    
    关于类后期介绍面向对象的时候会着重讲解!
    
    今天的关键字介绍到此结束(77/17),每天的基础巩固就是你成长的一大步!
  • 相关阅读:
    08-01集合运算
    07-03成员运算符
    07-02集合
    07-01结构与封装
    06-01字符串格式化.md
    06-03线性结构与切片
    06-02字符串与bytes
    05-02命名元组
    05-01元组
    04-01列表与常用操作
  • 原文地址:https://www.cnblogs.com/sandaman2019/p/10440911.html
Copyright © 2020-2023  润新知