Heim >Backend-Entwicklung >C++ >Wie lösche ich ein Element aus einem Array in C#?

Wie lösche ich ein Element aus einem Array in C#?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-20 20:46:11906Durchsuche

How Do I Delete an Element from an Array in C#?

Array-Elemente in C# löschen

Beim Arbeiten mit C#-Arrays kann es vorkommen, dass Sie bestimmte Elemente löschen müssen. In diesem Artikel erfahren Sie, wie Sie dies effektiv tun können.

Bestimmen Sie die zu löschenden Elemente

Um ein Element aus einem Array zu entfernen, müssen Sie es zunächst genau identifizieren. Leider unterstützen Arrays das Abrufen von Elementen nach „Name“ nicht nativ. Sie können jedoch auch andere Techniken verwenden, um den gewünschten Wert zu ermitteln.

Verwenden von LINQ und Schleifen

Wenn Ihr Zielframework .NET Framework 3.5 oder höher ist, bietet LINQ (Language Integrated Query) eine umfassende Möglichkeit zum Filtern und Ändern von Arrays. So löschen Sie Elemente mit LINQ:

<code class="language-csharp">int[] numbers = { 1, 3, 4, 9, 2 };
int numToRemove = 4;
numbers = numbers.Where(val => val != numToRemove).ToArray();</code>

Alternativ können Sie für .NET Framework 2.0 eine Nicht-LINQ-Schleife verwenden:

<code class="language-csharp">static bool isNotFour(int n) { return n != 4; }

int[] numbers = { 1, 3, 4, 9, 2 };
numbers = Array.FindAll(numbers, isNotFour).ToArray();</code>

Erste Instanz löschen

Manchmal müssen Sie möglicherweise nur die erste Instanz eines bestimmten Elements entfernen. In diesem Fall können Sie den LINQ- oder Nicht-LINQ-Code wie folgt ändern:

<code class="language-csharp">// LINQ
int numToRemove = 4;
int numIndex = Array.IndexOf(numbers, numToRemove);
numbers = numbers.Where((val, idx) => idx != numIndex).ToArray();

// 非LINQ
int numToRemove = 4;
int numIdx = Array.IndexOf(numbers, numToRemove);
List<int> tmp = new List<int>(numbers);
tmp.RemoveAt(numIdx);
numbers = tmp.ToArray();</code>

Alternativen zum Löschen

In manchen Fällen ist das Entfernen von Elementen aus einem Array möglicherweise nicht die geeignetste Option. Hier sind einige Alternativen, die Sie in Betracht ziehen sollten:

  • Element überschreiben: Sie können einem bestimmten Array-Element einen neuen Wert zuweisen und so den vorhandenen Wert effektiv überschreiben.
  • Verknüpfte Listen verwenden: Verknüpfte Listen bieten eine flexiblere Struktur zum Löschen von Elementen, da sie es Ihnen ermöglichen, die Liste zu durchlaufen und den erforderlichen Wert effizient zu finden.
  • Erstellen Sie ein neues Array : Wenn die Anzahl der zu löschenden Elemente groß ist, kann es effizienter sein, ein neues Array mit den erforderlichen Elementen zu erstellen, als das vorhandene Array zu ändern.

Das obige ist der detaillierte Inhalt vonWie lösche ich ein Element aus einem Array in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn