Fork me on GitHub

C#教程1:类型和变量

第一章:类型、存储和变量

1. 关键概念

  • C# 程序是由一个或者多个类型声明(类,或者其他)组成
  • 类型声明内包含一个或者多个成员(成员变量或者成员方法)
  • 命名空间是一种将相关类型声明分组并命名的方法。
using System;        // 使用项目自带的命名空间

namespace MyProgram  // 创建新的命名空间
{
    DelcarationOfTypeA      // 声明类型
    DelcarationOfTypeB      // 声明类型
    class C{				// 声明类型
        static void Main(){ // 成员方法
            //
        }
    }
}

2. 学习C#就是如何学习创建类型模板

(1)类型模板的构成

类型主要有以下的元素构成:

  • 名称
  • 用于保存数据成员的数据结构
  • 一些行为或者约束条件

image-20210625151255115

(3)实例化类型

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

image-20210625151444660

3. 根据定义方法划分类型

3.1 数据成员和类型成员

有一些类型可以包含不同类型的数据项,这些数据项被称为成员。成员主要分为以下两种:

  • 数据成员: 保存了和这个类的对象或整个类相关的数据。
  • 函数成员:执行代码。函数成员定义了类型的行为。

image-20210625152515194

3.2 C#自带的类型

C#提供了16中预定义类型,包含13中简单类型和3中非简单类型

image-20210625152613712

image-20210625152648881

image-20210625152656849

3.3. 用户自定义类型

  • 类类型(class)
  • 结构类型(struct)
  • 数组类型(array)
  • 枚举类型(enum)
  • 委托类型(delegate)
  • 接口类型(interface)

4. 类型声明和实例化

对于C#自带的类型,直接实例化即可。

对于用户自定义类型,需要先声明,然后再实例化

image-20210625152957176

5. 类型存储位置:栈和堆

(1)栈

栈是一个内存数据,是一个后进先出的数据结构,主要用于存储以下数据:

  • 某些类型变量的值
  • 程序当前的环境
  • 传递给方法的参数

image-20210625153200726

(3)堆

堆 一块内存区域,可以分配大量内存用于存储某种类型的数据对象。与栈不同,堆的内存能够以任意的顺序进行插入和删除(自动垃圾收集器操作)

image-20210625153349952

6. 根据存储位置划分类型:值类型和引用类型

数据项的类型根据内存中的存储方法 不同被分为两种:值类型和引用类型

(1)值类型

需要使用单独的内存用云存储实际的数据。

image-20210625153710112

(2)引用类型

引用类型需要两段内存:

  1. 第一段储存实际的数据,它总是在堆中。
  2. 第二段存储引用,指向数据在堆中的存放位置。

image-20210625153717510

7. C#类型的总分类

image-20210625154156047

8. 变量

8.1. 变量声明

主要分为以下步骤

  • 给变量命名,并为他关联一个类型;
  • 让编译器为他分配一块内存空间

image-20210625154532639

posted @ 2021-07-04 11:27  Bricker666  阅读(257)  评论(0编辑  收藏  举报