C#基础 [03] 类型和成员

一、什么是类型?

  1.什么是类型

    类型是一种数据结构的模板,它说明了由模板构造的对象的特征。类型定义了存储数据需要的内存空间的大小、对数据的访问方式、数据的存储位置(栈/堆)以及组成该类型的成员。类型包括C#语言提供的预定义类型和用户自定义的类型。

  2.类型的元素

    类型由名称、用于保存数据成员的数据结构及一些行为和约束条件。下图表示int类型的组成元素。

  

二、预定义类型

  

 如上图所示,C#提供了16中预定义类型,包括13重简单类型和3种非简单类型。关于预定义类型的几点说明:

  1.所有预定义类型的名称全部由小写字母组成。

  2.所有预定义类型都直接映射到底层的.Net类型,C#的类型名称其实就是.Net类型的别名。比如 int类型是System.Int32的别名。在语法上来讲,我们在程序中可以直接使用.Net类型,但是实际当中更好的实践是使用C#类型名。

  3.object类型是系统中所有其他类型的基类。

三、用户定义类型

  C#包括6种用户自定义类型:类(class)、结构(struct)、枚举(enum)、数组(array)、接口(interface)和委托(delegate)。

  1.类型声明信息

    用户定义类型通过类型声明创建,类型声明包括:

      1).类型的种类(关键字),比如class。
      2).定义类型的名称,比如MyClass。
      3).成员的声明(array和delegate除外,因为它们没有命名成员)。

  2.用户定义类型和预定义类型的比较

    使用预定义类型只需要实例化类型的对象即可,它是一个单步过程;而用户自定义类型需要先声明,后实例化,所以它是一个两步的过程。

    

四、值类型和引用类型

  1.值类型

    值类型只需要一段单独的内存空间,用于存储实际的数据。

  2.引用类型

    引用类型需要两段内存:第一段用于存储实际的数据,它总是位于内存堆当中;第二段是一个引用,指向数据在堆中的地址。

  3.值类型和引用类型的比较

  

五、类型的总结

  

六、实例化类型

  从某个类型创建实际对象,称为实例化该类型。通过实例化类型而创建的对象称为类型的对象或类型的实例。

  实例化类型的示例(假设我已经定义一个类型“DaysTemp")。

1            // 创建类型的实例(类类型的变量),值为null
2             DaysTemp d1;
3             // 为数据分配内存
4             d1 = new DaysTemp();   
5 
6             // 创建实例并且分配内存
7             // 使用了对象创建表达式(结合步骤)
8             // 使用了简单写法(类型推断) 【推荐】
9             var d2 = new DaysTemp();    

七、成员

   1.什么是成员?

    包含在类型中的数据项个体就称为成员。成员具有成员名。一个类型中可以包含许多不同类型的成员,比如类类型中包含字段、属性、方法和事件等。

  2.成员的类别

    成员分为两种:

    1).数据成员:保存了与所在类型的对象或类型本身相关的数据。比如class的字段。
    2).函数成员:函数成员执行代码,它定义了类型的行为。比如lclass的方法。 

原文地址:https://www.cnblogs.com/sunyunh/p/2830327.html