一、数组基础属性(所有数组通用)
以下属性为 非静态属性,直接 数组名.属性 调用
int[] nums = { 1, 2, 3, 4, 5, 6 };
Console.WriteLine(nums.Length); // 获取数组总元素个数:6
Console.WriteLine(nums.Rank); // 获取数组维度数:1(一维数组)
Console.WriteLine(nums.LongLength); // 64位长度,超大数组使用:6
必背释义
-
Length:最常用,获取数组元素总个数
-
Rank:获取数组维度(一维=1,二维=2,三维=3)
-
LongLength:适配超大数组的64位长度获取
二、数组静态方法总说明
所有下面方法全部是 Array 静态方法
调用方式:Array.方法名()
包含:Clear、Copy、IndexOf、LastIndexOf
三、Array.Clear() 清空数组方法
1. 作用
将数组指定范围的元素,恢复为该类型默认值
-
数值数组 → 清空为0
-
bool数组 → 清空为false
-
字符串数组 → 清空为null
2. 语法参数
Array.Clear(数组, 开始下标, 清空长度);
3. 代码案例
//方法:非静态方法 和 静态方法
//1 Array.Clear(nums,0,nums.Length);// 从0开始 清空长度为nums.Length
int[] nums = { 1, 2, 3, 4, 5, 6 };
// 从下标1开始,清空3个元素
Array.Clear(nums, 1, 3);
Console.WriteLine(string.Join("-",nums));
// 输出:1-0-0-0-5-6
//Join 把数组的元素按照字符串方式进行打印
4. 考点总结
-
不会删除数组长度,只是恢复默认值
-
清空规则:起始下标 + 清空个数,不能越界
四、Array.Copy() 数组复制方法(超级必考)
1. 作用
将原数组数据,批量复制到目标数组
2. 重载1:基础三参数
Array.Copy(原数组, 目标数组, 复制长度);
int[] nums1 = { 1, 2, 3, 4 };
int[] nums2 = new int[nums1.Length];
Array.Copy(nums1,nums2,4);
nums1[0] = 100; // 修改原数组//修改原数组的元素 是否影响nums2数组,
//如果数组存储的是值类型,使用copy方法进行复制时候 ,修改一个,不会影响另一个
//如果数组存储的是引用类型,使用copy方法进行复制时候 ,修改一个,会影响另一个
//参数1 要复制的数组
//参数2 复制源数组的位置
//参数3 要复制的目标数组
//参数4 复制到目标数组的位置
//参数5 复制的长度
//Array.Copy(nums1,1, nums2, 1,2);
Console.WriteLine(string.Join("-", nums2));
// 输出:1-2-3-4
3. 核心大坑(考试必考简答题)
Copy复制是值拷贝,不是地址拷贝
-
值类型数组(int、double、bool) :复制后两个数组完全独立,改一个不影响另一个
-
引用类型数组(对象、string):复制的是地址,改一个会影响另一个
4. 重载2:完整五参数(精细复制)
Array.Copy(原数组, 原起始下标, 目标数组, 目标起始下标, 复制长度);
int[] nums1 = { 1, 2, 3, 4 };
int[] nums2 = new int[4];
// 从原数组1下标开始,复制2个,放到目标数组1下标位置
Array.Copy(nums1,1, nums2, 1,2);
Console.WriteLine(string.Join("-", nums2));
// 输出:1-2-3-0
五、Array.IndexOf() 查找元素下标
1. 作用
从头往后查找,返回第一个匹配元素的下标
找不到返回:-1
2. 三种重载方式
① 基础查找
int[] nums3 = { 1, 2, 3, 4,3};
Console.WriteLine(Array.IndexOf(nums3,3));
// 输出 2(第一个3在下标2)
② 指定起始查找位置
// 从下标3开始往后找
Console.WriteLine(Array.IndexOf(nums3,3,3));
// 输出 4
③ 指定起始位置 + 查找长度
// 从下标3开始,查找长度2范围内
Console.WriteLine(Array.IndexOf(nums3, 3, 3, 2));
六、Array.LastIndexOf() 倒序查找
1. 作用
从后往前查找,返回第一个匹配到的下标(即最后一个匹配元素)
int[] nums3 = { 1, 2, 3, 4,3};
Console.WriteLine(Array.LastIndexOf(nums3,3));
// 输出 4
七、string.Join() 终极输出方法
作用
快速将数组所有元素拼接为字符串,无需循环遍历
语法
string.Join("分隔符", 数组名)
示例
string.Join("-",nums) → 元素之间用短横线连接输出
八、数组方法 终极必背总结
-
Length总个数,Rank维度数,LongLength超大长度
-
Clear清空为默认值,不改变数组长度
-
Copy值类型复制相互独立,引用类型复制共享地址
-
IndexOf正序找第一个,找不到返回-1
-
LastIndexOf倒序找最后一个
-
string.Join一键拼接输出数组全部元素