Wie sortiere ich eine ListBox in VB.NET 2003 numerisch statt alphabetisch?

Antwort vom

In der ListBox wird standardmäßig **alphabetisch (String)** sortiert – deshalb kommt `"200"` vor `"30"`. Für eine **numerische** (wertorientierte) Sortierung musst du die Einträge als Zahlen sortieren und danach wieder als Strings in die ListBox schreiben (VB.NET 2003 / .NET 1.1 ohne LINQ): ```vb 'ListBox1 enthält z.B. "50", "30", "200", "400" Dim arr() As Integer Dim i As Integer ReDim arr(ListBox1.Items.Count - 1) For i = 0 To ListBox1.Items.Count - 1 arr(i) = CInt(ListBox1.Items(i).ToString()) Next Array.Sort(arr) ListBox1.Items.Clear() For i = 0 To arr.Length - 1 ListBox1.Items.Add(arr(i).ToString()) Next ``` Ergebnis: `30, 50, 200, 400`.

Kategorie: Technik Tags: VBNet ListBox Sortierung