Rimuovere l'elemento di un array in C#

Minahil Noor 11 dicembre 2023
  1. Utilizzare la clausola where() per rimuovere l’elemento di un array in C#
  2. Usare il programma Shifting per rimuovere l’elemento di un array in C#
Rimuovere l'elemento di un array in C#

Questo articolo introdurrà diversi metodi per rimuovere l’elemento di un normale array utilizzando codice C#, come la clausola where() e il programma shifting.

Utilizzare la clausola where() per rimuovere l’elemento di un array in C#

In C# non esiste un metodo di questo tipo per rimuovere o aggiungere elementi a un array esistente. Ecco perché si consiglia di utilizzare una lista invece di un array. Ma possiamo usare la clausola where() di LINQ per trovare l’indice dell’elemento da rimuovere e saltare l’elemento. Dopodiché, convertiremo l’array in un nuovo array senza l’elemento specificato.

Il programma sotto mostra come possiamo usare la clausola where() per rimuovere l’elemento di un normale array.

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);
    }
  }
}

Produzione:

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

Usare il programma Shifting per rimuovere l’elemento di un array in C#

Useremo il programma di spostamento degli elementi per rimuovere l’elemento di un array regolare.

Il programma di spostamento degli elementi è il seguente.

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]);
    }
  }
}

Produzione:

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

Articolo correlato - Csharp Array