Heim > Backend-Entwicklung > C++ > Wie kann ich Elemente aus einem Array in C# löschen?

Wie kann ich Elemente aus einem Array in C# löschen?

Susan Sarandon
Freigeben: 2025-01-20 20:36:15
Original
626 Leute haben es durchsucht

How Can I Delete Elements from an Array in C#?

Effizientes Entfernen von Elementen aus C#-Arrays

C#-Arrays haben von Natur aus eine feste Größe; Sie können Elemente nicht direkt entfernen. Allerdings simulieren mehrere Methoden effektiv die Elemententfernung. Der beste Ansatz hängt von Ihrer .NET Framework-Version und Ihren spezifischen Anforderungen ab.

Nutzung von LINQ (für .NET Framework 3.5 und höher):

LINQ bietet elegante Lösungen für die Array-Manipulation. So entfernen Sie alle Vorkommen eines bestimmten Werts:

<code class="language-csharp">int[] numbers = { 1, 3, 4, 9, 2, 4 };
int valueToRemove = 4;
numbers = numbers.Where(num => num != valueToRemove).ToArray();</code>
Nach dem Login kopieren

Das Entfernen nur des ersten Vorkommens erfordert einen etwas anderen Ansatz:

<code class="language-csharp">int indexToRemove = Array.IndexOf(numbers, valueToRemove);
numbers = numbers.Where((num, index) => index != indexToRemove).ToArray();</code>
Nach dem Login kopieren

Nicht-LINQ-Methoden (für .NET Framework 2.0 und höher):

Für ältere .NET-Frameworks sind herkömmliche Array-Methoden erforderlich. Eine Technik verwendet eine benutzerdefinierte Prädikatfunktion:

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

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

Alternativ können Sie das Array in ein List<T> konvertieren, das Element entfernen und zurückkonvertieren:

<code class="language-csharp">int[] numbers = { 1, 3, 4, 9, 2, 4 };
int valueToRemove = 4;
int indexToRemove = Array.IndexOf(numbers, valueToRemove);
List<int> tempList = new List<int>(numbers);
tempList.RemoveAt(indexToRemove);
numbers = tempList.ToArray();</code>
Nach dem Login kopieren

Wichtige Überlegung: Überprüfen Sie immer die Existenz des Elements im Array mit Array.IndexOf, bevor Sie versuchen, es zu entfernen, um Ausnahmen zu verhindern. Die Verwendung von LINQ liefert im Allgemeinen prägnanteren und lesbareren Code, aber die Nicht-LINQ-Methoden bieten Kompatibilität mit älteren Frameworks.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage