三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

c#基础知识合集11 数组的属性 数组的高级函数 lambda表达式

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-0
3.Array.IndexOf()/Array.LastIndexOf():查找元素索引

用于查找元素在数组中的位置,分 “正向查找” 和 “反向查找”:

(1)

← 返回列表