C# 如何从数组中删除元素

C# 数组是固定大小的,无法直接删除元素。要删除数组中的元素,需要使用其他方法。本文将介绍两种常用的方法:

1. 使用 Array 类的 Copy 方法

这种方法通过创建一个新的数组,将剩余的元素复制到新数组中来实现删除。使用 Array.Copy 方法可以高效地完成复制操作。

示例代码如下:

int[] arr = { 1, 2, 3, 4, 5 };
int indexToDelete = 2;

int[] newArr = new int[arr.Length - 1];
Array.Copy(arr, 0, newArr, 0, indexToDelete);
Array.Copy(arr, indexToDelete + 1, newArr, indexToDelete, arr.Length - indexToDelete - 1);

arr = newArr;

代码解释:

  1. 首先声明一个数组 arr 和要删除元素的索引 indexToDelete
  2. 创建一个新的数组 newArr,长度比 arr 少 1。
  3. 使用 Array.Copy 方法将 arr 中索引 0 到 indexToDelete - 1 的元素复制到 newArr 中。
  4. 再次使用 Array.Copy 方法将 arr 中索引 indexToDelete + 1 到末尾的元素复制到 newArr 中。
  5. 最后将 newArr 赋值给 arr,完成删除操作。

2. 使用 List 类

C# 中的 List 类提供了更便捷的方式来删除元素。可以使用 RemoveAt 方法删除指定索引处的元素。

示例代码如下:

List<int> list = new List<int> { 1, 2, 3, 4, 5 };
int indexToDelete = 2;

list.RemoveAt(indexToDelete);

int[] newArr = list.ToArray();

代码解释:

  1. 声明一个 List<int> 对象 list 并初始化。
  2. 声明要删除元素的索引 indexToDelete
  3. 使用 RemoveAt 方法删除索引为 indexToDelete 的元素。
  4. 使用 ToArray 方法将 List 对象转换为数组。

总结

本文介绍了两种从 C# 数组中删除元素的方法,您可以根据实际情况选择最适合的方法。使用 Array 类的 Copy 方法更适合需要对数组进行精确控制的场景,而 List 类的 RemoveAt 方法则更简单便捷。

C# 数组删除元素:两种方法详解

原文地址: https://www.cveoy.top/t/topic/oPZk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录