Unity的C#编程教程_40_array 数组

Array Syntax

  • C# 中的数组,用于存放多个相同类型的元素
  • 比如你有五个角色,那么这五个角色的名字是相同类型,可以放在一个数组中进行管理

假设我们不用数组:

    public string nameA = "XiaoMing";
    public string nameB = "ZhangSan";
    public string nameC = "LiSi";
    public string nameD = "WngWu";
    public string nameE = "Zhaoliu";

这看上去很累赘不是吗?如果不是 5 个名字,而是 100 个呢?难道要写 100 行?

我们可以这样使用数组:

public string[] names = new string[5];

然后到 unity 的 inspector 窗口中输入 5 个名字即可!

在 Unity 的 C# 中有 3 种常用方式定义数组:

// 定义一个名字叫做 names 的数组
public string[] names;

// 定义一个数组,预设大小为 5
public string[] names = new string[5];

// 定义一个数组,并设置默认参数
public string[] names = new string[] { "XiaoMing", "ZhangSan", "LiSi", "LiSi", "WngWu", "Zhaoliu" };

第一种方式自由度最高,我们进入 unity 的 inspector 中可以设定所需元素个数,设定具体的元素值。

但是自由度高的代价是一旦reset,那所有数据都会清空!所以实际操作中,记得定期保存!

第一种方式在实际运用中用得最多!

第二种方式,reset 后元素值会被清除。

第三种方式,reset 后元素值会恢复到默认的预设值。

2. Array Elements

  • 定义好了一个 array,如何访问里面的元素呢?

我们先初始化一个 array:

// 定义一个名字叫做 names 的数组
public string[] names;

然后到 unity 的 inspector 中输入 3 个名字,比如 A,B,C,保存后,回到 C# 脚本

我们可以使用 array 名加序号的形式进行访问数组中的元素

void Start()
    {
        Debug.Log(names[0]); // 打印出来第 0 号元素,即 A
    }

这里注意序号从 0 开始,所以要打印第 3 个元素,序号为 2

Tags: