Ich habe eine Liste von Strings mit "Others"
. Ich bekomme diese Liste für Drop-Down. Ich sortiere diese Liste alphabetisch. Aber ich brauche "Others"
immer am Ende der Liste. Ich möchte dieses Element nach dem Sortieren, das eine Lösung ist, nicht hinzufügen. Gibt es eine andere Möglichkeit, dasselbe zu tun, indem Sie den benutzerdefinierten Vergleich von .Sort()
method verwenden. Ich habe versucht wie unten, aber keine Lösung.
und nennen es als:
%Vor%Bitte helfen Sie, wenn es möglich ist.
Das ist eine gute Antwort, aber ich dachte, ich würde Ihren Vergleich reparieren:
Test:
%Vor%Vergleicher:
%Vor% Beachten Sie, wie meine Verwendung von string.Compare
alle == null
Checks vermeidet. Und wie StringComparison.OrdinalIgnoreCase
vermeidet .ToLower()
und vermeidet somit das Erstellen von Kopien der Zeichenfolgen.
Verwenden Sie diese Logik
%Vor%Ausgabe:
a b c x y z andere
Wenn other
ganz oben auf der Liste stehen soll, mach es
Ausgabe:
anderes a b c x y z
Angenommen, wir haben Objekte mit den folgenden Listenelementen.
object.Text="a" object.Value = 1
object.Text="b" object.Value = 2
object.Text="andere" object.Value = 3
object.Text="c" object.Value = 4
das folgende funktioniert für mich:
var oList = objects.OrderBy (i = & gt; i.Text!="andere"). ThenBy (i = & gt; i.Text);