如何在 C# 中删除数组的元素

Minahil Noor 2023年1月30日 2020年10月17日
  1. 在 C# 中使用 where() 子句删除一个数组的元素
  2. 使用 C# 中的移位程序删除数组中的元素
如何在 C# 中删除数组的元素

本文将介绍使用 C# 代码删除常规数组元素的不同方法,如 where() 子句和移位程序。

在 C# 中使用 where() 子句删除一个数组的元素

在 C# 中,没有现成的方法来删除或添加元素到一个现有的数组。这就是为什么建议使用列表而不是数组。但是我们可以使用 LINQ 的 where() 子句来找到要删除的元素的索引,并跳过该元素。之后,我们将把数组转换成一个没有指定元素的新数组。

下面的程序显示了我们如何使用 where() 子句来删除一个常规数组中的元素。

using System;
using System.Linq;

class StringToFloat {
  static void Main(string[] args) {
    string[] myArray = {
      "a",
      "b",
      "c",
      "d",
      "e"
    };
    Console.WriteLine("Array before deletion");
    foreach(string value in myArray) {
      Console.WriteLine(value);
    }
    int indexToRemove = 3;
    myArray = myArray.Where((source, index) =>index != indexToRemove).ToArray();
    Console.WriteLine("Array after deletion");

    foreach(string value in myArray) {
      Console.WriteLine(value);
    }
  }
}

输出:

Array before deletion
a
b
c
d
e
Array after deletion
a
b
c
e

使用 C# 中的移位程序删除数组中的元素

我们将使用元素移位程序来删除常规数组中的元素。

元素移位程序如下。

using System;
using System.Linq;

class StringToFloat {
  static void Main(string[] args) {
    string[] myArray = {
      "a",
      "b",
      "c",
      "d",
      "e"
    };
    Console.WriteLine("Array before deletion");
    foreach(string value in myArray) {
      Console.WriteLine(value);
    }
    int pos = 3;
    int i;
    for (i = pos - 1; i < 4; i++) {
      myArray[i] = myArray[i + 1];
    }
    Console.WriteLine("Array after deletion");

    for (i = 0; i < 4; i++) {
      Console.WriteLine(myArray[i]);
    }
  }
}

输出:

Array before deletion
a
b
c
d
e
Array after deletion
a
b
d
e

相关文章 - Csharp Array