Neu in .NET 10.0 [38]: RemoveRange() und RemoveAll() in der Klasse JsonArray
Mit RemoveRange() und RemoveAll() entfernt man Elemente aus einem JSON-Array.
(Bild: Pincasso / Shutterstock.com)
- Dr. Holger Schwichtenberg
In der Klasse JsonArray im Namensraum System.Text.Json.Nodes bietet Microsoft nun zwei neue Methoden RemoveRange() und RemoveAll().
RemoveRange()nimmt zwei Zahlen entgegen:IndexundCount. Der Index ist wie üblich nullbasiert, das heißtRemoveRange(5, 2)entfernt das sechste und siebte Element.RemoveAll()erwartet einPredicate<JsonNode>-Objekt und erlaubt die Angabe eines Löschkriteriums, beispielsweise alle Zahlen kleiner oder gleich 4:RemoveAll(n => n.GetValue<int>() <= 4);
(Bild:Â King / stock.adobe.com)
Das ist neu in .NET 11.0: Dr. Holger Schwichtenberg und weitere Experten präsentieren am 17. November 2026 auf der Online-Konferenz betterCode() .NET 11.0 die Änderungen für Entwicklerinnen und Entwickler. Tickets zum Frühbucherpreis sind im Online-Shop verfügbar.
Folgender Code zeigt die Funktionen RemoveRange() und RemoveAll():
public void JsonArrayRemoveRangeAndAll()
{
CUI.Demo("System.Text.Json: JsonArray.Remove(All|Range) ");
// Hilfsroutine zur Ausgabe eines JsonArray
void PrintJsonArray(string Title, System.Text.Json.Nodes.JsonArray array)
{
CUI.LineCyan(Title + " Länge des JsonArray: " + array.Count);
foreach (var item in array)
{
System.Console.Write(item + " ");
}
System.Console.WriteLine();
}
System.Text.Json.Nodes.JsonArray? array = JsonSerializer.Deserialize<System.Text.Json.Nodes.JsonArray>("""[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]""");
if (array == null)
{
System.Console.WriteLine("Array ist null"); return;
}
PrintJsonArray("JSON Array: Ausgangszustand", array); // 9 Elemente
array.RemoveRange(5, 2);
PrintJsonArray("JSON Array: Nach RemoveRange(5, 2)", array); // 7 Elemente
array.RemoveAll(n => n.GetValue<int>() <= 4);
PrintJsonArray("JSON Array: Nach RemoveAll(n => n.GetValue<int>() <= 4)", array); // 3 Elemente
}
Videos by heise
(rme)