Heim >Backend-Entwicklung >C++ >Wie lösche ich ein Element aus einem Array in C#?
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.
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.
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>
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>
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:
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!