C# struct结构体与enum枚举基本知识点,class与struct的区别

 1 using UnityEngine;
 2 /// <summary>
 3 /// 枚举类型
 4 /// </summary>
 5 public enum state
 6 {
 7     gameStart,
 8     gameRuning,
 9     gameOver
10 }
11 /// <summary>
12 /// struct结构体 用于储存数据
13 /// </summary>
14 public struct data
15 {
16     public string name;
17     public int age;
18     
19 }
20 public class test : MonoBehaviour
21 {
22     /*
23       struct与class的区别:
24             1.class 是引用类型,structs是值类型
25             2.class可以设为null。但是我们不能将struct设为null,因为它是值类型。
26             3.实例一个class,它创建在堆上。实例一个struct,它创建在栈上.
27             4.类使用前必须new关键字实例化,Struct不需要
28             5.Struct不支持继承和多态,其成员不能以protected 或Protected Internal 修饰
29             6.Class 可以有明显的无参数构造函数,但是Struct不可以
30             7.Class比较适合大的和复杂的数据,Struct适用于作为经常使用的一些数据组合成的新类型。
31     */
32  
33  
34     void Start()
35     {
36         //枚举类型的赋值,枚举类型一般用于游戏状态的控制
37         state _state1 = state.gameOver;
38  
39  
40         //struct结构体赋值 不需要用new关键字实例化
41         data _data1;
42         _data1.name = "H";
43         _data1.age = 1;
44  
45  
46         data _data2;
47         _data2.name = "J";
48         _data2.age = 2;
49     }
50 }