C# 笔记5 数组 以下内容系本人基于书本及AI工具辅助结合个人理解所梳理。学力有限难免有疏漏之处若各位师友发现谬误恳请不吝【斧正】感激不尽。1.定义数组是固定大小、同一类型的元素集合// 方式1声明并指定大小稍后赋值 int[] numbers new int[5]; numbers[0] 10; // 索引从0开始 // 方式2声明时直接初始化最常用 string[] fruits new string[] { 苹果, 香蕉, 橙子 }; // 方式3简化写法编译器自动推断不建议 char[] grades { A, B, C };访问数组通过索引程序中索引序号从0开始计算获取数组的长度用.Length属性2. 遍历数组两种主流方式//方法1 通过for循环遍历 //通过索引值进行遍历可以随时修改内容 string[] names { 张三, 李四, 王五 }; // for循环需要索引时用 for (int i 0; i names.Length; i) { Console.WriteLine(${i}: {names[i]}); }//方法2 使用foreach进行遍历 //只能获取里面的值不能更改内容 string[] names { 张三, 李四, 王五 }; // foreach只读遍历代码更简洁 foreach (string name in names) { Console.WriteLine(name); }3.System.ArrayC# 中的数据是由System.Array派生类而来的引用对象因此可以使用Array中的方法对数组进行操作int[] arr { 5, 2, 8, 1, 9 }; // 1. 升序排序原地修改数组 Array.Sort(arr); Console.WriteLine(排序后 string.Join(,, arr)); // 1,2,5,8,9 // 2. 反转数组原地反转 Array.Reverse(arr); Console.WriteLine(反转后 string.Join(,, arr)); // 9,8,5,2,1 // 3. 查找元素索引 int index Array.IndexOf(arr, 8); Console.WriteLine(数字8的索引 index); // 输出 1 // 4. 清空指定范围元素下标0开始清空2个元素 Array.Clear(arr, 0, 2); Console.WriteLine(清空前2位后 string.Join(,, arr)); // 0,0,5,2,14.数组的赋值数组是引用类型赋值时传的是引用地址int[] a { 1, 2, 3 }; int[] b a; // b 和 a 指向同一块内存 b[0] 100; Console.WriteLine(a[0]); // 输出 100a也被改了 //正确的方法 int[] b new int[a.Length]; Array.Copy(a, b, a.Length); // 或 a.Clone() 浅拷贝