【Unity 09】 C#二维数组、变长数组、枚举的声明及使用

这篇博客详细介绍了在Unity开发中C#的二维数组、变长数组和枚举的声明及使用方法,包括各种声明方式、遍历、赋值及实际应用案例,如杨辉三角。
摘要由CSDN通过智能技术生成

PS:本系列笔记将会记录我此次在北京学习Unity开发的总体过程,方便后期写总结,笔记为日更。
笔记内容均为 自己理解,不保证每个都对。
C#笔记未按照难度排列

Part 1 二维数组:

四种声明方式及遍历:

```
            //二维数组  4种定义方式与一维相同
            int[,] tmpArraB = new int[2, 3];
            //定义一个二维数组 2行3列 堆区

            int[,] tmpArrayC = new int[,] { { 1, 2 }, { 2, 2 } };
            //定义了一个 两行两列的 二维数组 堆区

            int[,] tmpArrayD = { { 1, 2 }, { 2, 2 } };
            //定义了一个两行两列的 二维数组 栈区


			//for循环遍历
            for (int i = 0; i <= tmpArrayC.GetLength(0) - 1; i++)	//获得行数
            {
                for (int j = 0; j <= tmpArrayC.GetLength(1) - 1; j++)	//获得列数
                {
                    Console.WriteLine(tmpArrayC[i, j]);
                }
            }


			//foreach循环遍历
            foreach (var item in tmpArrayC)
            {
                Console.WriteLine(item);
            }


            //var任意类型变量、tmpArrayA表示范围
            //特点:只能访问不能修改
            //占用4个字节,每次都会进行更新,前内的指针都会销毁
            //占用内存大,尽量用For遍历

二维数组的应用:杨辉三角

            int n;
            n = int.Parse(Console.ReadLine());
            int[,] tmpArrayF = new in
Unity 编辑器中显示二维数组可以使用多种方法,以下是其中两种常见的方法: 1. 在 Inspector 窗口中使用自定义编辑器脚本 编写一个继承自 Editor 类的自定义编辑器脚本,然后将其挂载到包含二维数组的 GameObject 上。在脚本中,可以使用 SerializedProperty 类访问二维数组的每个元素并在 Inspector 窗口中显示它们。示例代码如下: ```csharp using UnityEditor; using UnityEngine; [CustomEditor(typeof(MyScript))] public class MyScriptEditor : Editor { SerializedProperty myArray; void OnEnable() { myArray = serializedObject.FindProperty("myArray"); } public override void OnInspectorGUI() { serializedObject.Update(); EditorGUILayout.PropertyField(myArray, true); serializedObject.ApplyModifiedProperties(); } } ``` 其中,MyScript 是包含二维数组的脚本,myArray 是二维数组的 SerializedProperty 对象。 2. 在场景中使用 GUI 控件 在场景中使用 GUI 控件可以在游戏运行时或编辑器运行时显示二维数组。可以使用 GUILayout 或 EditorGUI 中的控件来创建表格或网格来显示二维数组。示例代码如下: ```csharp using UnityEngine; public class MyScript : MonoBehaviour { public int[,] myArray = new int[3, 3]; void OnGUI() { for (int i = 0; i < myArray.GetLength(0); i++) { GUILayout.BeginHorizontal(); for (int j = 0; j < myArray.GetLength(1); j++) { myArray[i, j] = EditorGUILayout.IntField(myArray[i, j], GUILayout.Width(50)); } GUILayout.EndHorizontal(); } } } ``` 在该示例中,使用 GUILayout.BeginHorizontal 和 GUILayout.EndHorizontal 创建每行,使用 EditorGUILayout.IntField 显示二维数组的每个元素,并使用 GUILayout.Width 控制每个元素的宽度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值