如何在 C# 中刪除陣列的元素

Minahil Noor 2023年12月11日
  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