📌  相关文章
📜  如何从数组中删除一个元素c#(1)

📅  最后修改于: 2023-12-03 15:08:15.753000             🧑  作者: Mango

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

在编程中,经常会遇到需要从数组中删除一个元素的情况。本文将介绍如何在C#中删除数组中的一个元素,并提供几种常见的删除方法。

1.使用Array.Copy()方法

可以使用Array.Copy()方法来复制原始数组,并跳过待删除元素,然后将新数组返回给目标数组。这个方法可以使用多种方式,具体取决于要删除的元素的位置和数量。

public static T[] RemoveAt<T>(T[] array, int index)
{
    T[] newArray = new T[array.Length - 1];
    if (index > 0)
        Array.Copy(array, 0, newArray, 0, index);
    if (index < array.Length - 1)
        Array.Copy(array, index + 1, newArray, index, array.Length - index - 1);
    return newArray;
}

**注意:**请注意,这种方法不会修改原始数组,而是创建一个新数组。如果需要修改原始数组,请使用源数组上的方法。

2.使用List

List类是框架提供的一种可操作大小调整的集合。可以使用它的Remove()方法来从列表中删除元素。

List<int> list = new List<int>(new[] { 1, 2, 3 });
list.Remove(2);

这种方法直接修改了原始列表,而不需要创建一个新的数组。

3.使用LINQ

可以使用LINQ的Where()方法过滤要保留的元素,并将其转换回数组。

int[] array = { 1, 2, 3 };
array = array.Where(val => val != 2).ToArray();

这种方法使用了一个lambda表达式,用于过滤要保留的元素,并返回一个新的数组。

总结

这些是C#中删除数组元素的常见方法。根据您的具体需求选择合适的方法,并按照以上代码片段删除您的目标数组元素。