美文网首页C#学习的心得笔记
刘铁猛7——类型,变量与对象详解(下)

刘铁猛7——类型,变量与对象详解(下)

作者: 北欧的蓝天 | 来源:发表于2019-10-23 00:39 被阅读0次

    1)蓝色表示是常用的数据类型,C#将其吸收为关键字了。

    2)蓝色表示这些数据类型都是基本数据类型,也叫内建数据类型。别的类型都是拿这些类型构成的。

    本节讲C#语言的数据类型及其之间的关系。

    如何知道一个成员是不是一个类

    1)调用MSDN文档,快捷键

    2)用Type语句获知全名后,贴到MSDN文档index栏查询

    Type myType = typeof(FormatException);

    Console.WriteLine(myType.FullName);

    3)用IsClass查询

    Type myType = typeof(FormatException);

    Console.WriteLine(myType.IsClass);

    4) 最直接的方法,选中要查询的成员,右键点击“go to definition”,来到微软创建该成员时定义它的地方。定义时就是class。基类是System.Exception.

    C#的五种主要数据类型,归为两类(reference和value)

    1)Class,用于声明和定义类。

    2)Struct 结构体类型: 

    如:int,Long等,太常用了,C#吸收它们为关键字了。实际上写成int32,int64也行。

    3)Enum 枚举类型:给定集合,只能从集合中选值,不能随便取值。

    E.g. form类,窗口只有三种状态(Mazimized,Minimized和Normal),最大化,最小化,调整size。

    委托和接口都是高级类型,本节课不讲。

    C#的数据类型系统

    这些数据类型,构成了C#的数据类型系统,树状,有层级结构。

    object:位于树状结构的根部,为基类型,分出两大数据类型分组:reference 和 value

    1)Reference 引用类型,分为三种:

    A)类:

    a)Object和String,是真正的数据类型中的类,因为太常用,被吸收为关键字了。

    b)Class,Interface,delegate,都只是关键字。不是一个类,只是用来定义类的关键字。

    B)接口

    C)委托

    2)Value 值类型,分为两种

    A)结构体: 

    a)以下是真正的数据类型

    b)Struct,只是关键字。不是一个结构体数值类型,只是用来定义结构体类型的关键字。

    B)枚举

    true 和 false是bool数值类型的值,只能有这两种。

    void 和 null 是函数的返回值,void不需要返回值,null一个引用变量不引用任何实例,引用值为空。

    var 和 dynamic 用来声明变量。

    变量

    1)静态字段(静态变量)

    2)字段(或,成员变量)(实例变量)

    3)数组元素

    4)值参数

    5)引用参数

    6)输出形参

    7)局部变量(狭义的变量指局部变量,平时也简称为变量),因为其他种类的变量都有自己的名称了。局部变量就是声明在方法体内的变量。

    值类型在内存中的存贮

    sbyte,带正负号的,最高位为0代表正数,为1代表负数

    计算机存储负数的原则:按位取反再加一。如:

    正100,01100100,

    负100,10011011+1   ---> 10011100

    存放双字节数据,右边补齐0,从高地址开始存。

    s = 200;

     string str = Convert.ToString(s,2);

     Console.WriteLine(str);

    值类型没有实例,实例与变量合而为一。

    不用写成 int x  = new int();

    引用类型在内存中的存贮

    一旦声明一个引用类型,就直接在内存中刷出4个字节,不用计算所需空间,放在栈中。

    声明一个实例类型后,才需要在内存中计算所需空间。实例存放在堆内存中。

    变量的默认值

    局部变量默认值全刷成0.

    本地变量没有默认值,必须要赋值,否则无法编译成功。

    常量 Const

    常量的值不可以被改变。

    const int x = 100;

    x  = 200;  // 报错,因为x是常量,值不可以变

    装箱和拆箱

    int x = 100;

    object obj;   //引用类型obj

    obj = x;



    相关文章

      网友评论

        本文标题:刘铁猛7——类型,变量与对象详解(下)

        本文链接:https://www.haomeiwen.com/subject/ykicvctx.html