c#基础知识合集11 数组的属性 数组的高级函数 lambda表达式
数组的属性
一、数组的基础属性
数组继承自System.Array,常用属性如下:
| 属性名 | 作用 | 示例(int[] nums = {1,2,3,4,5,6}) |
|---|---|---|
Length | 获取数组总元素个数 | nums.Length→ 6 |
Rank | 获取数组维度数(一维为 1) | nums.Rank→ 1 |
二、数组核心方法详解
1.Array.Clear():清空数组元素
作用:将数组中指定范围的元素设为类型默认值(int→0,string→null 等)
语法:Array.Clear(数组, 起始索引, 清空长度)
int[] nums = {1,2,3,4,5,6}; Array.Clear(nums, 0, nums.Length); // 从索引0开始,清空整个数组 Console.WriteLine(string.Join("-", nums)); // 输出:0-0-0-0-0-0补充:string.Join("-", 数组)是将数组元素按-拼接为字符串的常用方式。
2.Array.Copy():复制数组元素
用于将一个数组的元素复制到另一个数组,分两种重载形式:
形式 1:基础复制(全量 / 部分复制)
语法:Array.Copy(源数组, 目标数组, 复制长度)
作用:将源数组的前复制长度个元素,复制到目标数组的开头
值类型 / 引用类型的差异:
若数组存值类型(如 int):复制的是 “值本身”,修改原数组不影响目标数组;
若数组存引用类型(如类对象):复制的是 “引用地址”,修改原对象会影响目标数组。
int[] nums = {1,2,3,4,5,6}; int[] nums2 = new int[nums.Length]; Array.Copy(nums, nums2, 4); // 复制nums前4个元素到nums2 nums[0] = 100; // 修改原数组 Console.WriteLine(string.Join("-", nums2)); // 输出:1-2-3-4-0-0(nums2不受影响)形式 2:指定范围复制
语法:Array.Copy(源数组, 源起始索引, 目标数组, 目标起始索引, 复制长度)
作用:从源数组的源起始索引开始,复制复制长度个元素,到目标数组的目标起始索引位置
int[] nums1 = {1,2,3,4}; int[] nums2 = new int[4]; Array.Copy(nums1, 1, nums2, 1, 2); // 从nums1索引1开始,复制2个元素到nums2索引1位置 Console.WriteLine(string.Join("-", nums2)); // 输出:0-2-3-03.Array.IndexOf()/Array.LastIndexOf():查找元素索引
用于查找元素在数组中的位置,分 “正向查找” 和 “反向查找”:
(1)
