结构体类

C# 数组(Array)

所有的数组都是由连续的内存位置组成的。最低的地址对应第一个元素,最高的地址对应最后一个元素。

声明数组

  • 在 C# 中声明一个数组

datatype[] arrayName;

  1. datatype 用于指定被存储在数组中的元素的类型。
  2. [ ] 指定数组的秩(维度)。秩指定数组的大小。
  3. arrayName 指定数组的名称。

  4. 初始化数组 声明一个数组不会在内存中初始化数组。只有当初始化数组变量时才会分配。

数组是一个引用类型,所以需要使用 new 关键字来创建数组的实例。

例如: double[] balance = new double[10];

注意 : 不是 double(10) ,不是构造方法初始化

  • 赋值给数组

  • 可以通过使用索引号赋值给一个单独的数组元素 double[] balance = new double[10]; balance[0] = 4500.0;

  • 可以在声明数组的同时给数组赋值 double[] balance = { 2340.0, 4523.69, 3421.0};

  • 可以创建并初始化一个数组 int [] marks = new int[5] { 99, 98, 92, 97, 95};

  • 在上述情况下,可以省略数组的大小 int [] marks = new int[] { 99, 98, 92, 97, 95};

  • 可以赋值一个数组变量到另一个目标数组变量中。

    在这种情况下,目标和源会指向相同的内存位置:

    int [] marks = new int[] { 99, 98, 92, 97, 95}; int[] score = marks;

当创建一个数组时,C# 编译器会根据数组类型隐式初始化每个数组元素为一个默认值。

例如,int 数组的所有元素都会被初始化为 0。

  • 访问数组元素

元素是通过带索引的数组名称来访问的。 这是通过把元素的索引放置在数组名称后的方括号中来实现的。

例如: double salary = balance[9];

  • 数组方法和属性(Array 类) 参考 杂项记录 -》数据类型-方法属性 -》 数组方法和属性

结构体

  • 定义结构体 为了定义一个结构体,必须使用 struct 语句。

struct 语句为程序定义了一个带有多个成员的新的数据类型。

  • 结构体的特点

在 C# 中的结构与传统的 C 或 C++ 中的结构不同。

  1. 结构可带有方法、字段、索引、属性、运算符方法和事件。
  2. 结构可定义构造函数,但不能定义析构函数。 > 但是,不能为结构定义默认的构造函数。默认的构造函数是自动定义的,且不能被改变。
  3. 与类不同,结构不能继承其他的结构或类。
  4. 结构不能作为其他结构或类的基础结构。
  5. 结构可实现一个或多个接口。
  6. 结构成员不能指定为 abstract、virtual 或 protected。
  7. 当您使用 New 操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用 New 操作符即可被实例化。
  8. 如果不使用 New 操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用。

  9. 类和结构有以下几个基本的不同点:

  10. 类是引用类型,结构是值类型。

  11. 结构不支持继承。
  12. 结构不能声明默认的构造函数。

  13. 示例

```C# struct Books { private string title; private string author; private string subject; private int book_id; public void getValues(string t, string a, string s, int id) { title = t; author = a; subject = s; book_id =id; } public void display() { Console.WriteLine("Title : {0}", title); Console.WriteLine("Author : {0}", author); Console.WriteLine("Subject : {0}", subject); Console.WriteLine("Book_id :{0}", book_id); }

}; ```

C# 枚举(Enum)- 值类型

枚举是一组命名整型常量。

枚举类型是使用 enum 关键字声明的。

枚举包含自己的值,且不能继承或传递继承。

  • 声明 enum 变量

声明枚举的一般语法:

C# enum <enum_name> { enumeration list };

enum_name 指定枚举的类型名称。 enumeration list 是一个用逗号分隔的标识符列表。

枚举列表中的每个符号代表一个整数值,一个比它前面的符号大整数值。 默认情况下,第一个枚举符号的值是 0

示例: enum Days { Sun, Mon, tue, Wed, thu, Fri, Sat };

同样也可指定其中一个为具体整数,其后随之递增+1