Ich habe das List<string>:
IList<string> ListaServizi = new List<string>();
Wie kann ich es alphabetisch und aufsteigend bestellen?
Ich habe das List<string>:
IList<string> ListaServizi = new List<string>();
Wie kann ich es alphabetisch und aufsteigend bestellen?
Antworten:
ListaServizi = ListaServizi.OrderBy(q => q).ToList();
IList<string>. Dieser Code würde tatsächlich wie geschrieben funktionieren, im Gegensatz zu den Antworten, mit denen mehr positive Stimmen erhalten wurden ListaServizi.Sort(). Ich sage nicht, dass dies die Lösung ist, die ich wählen würde, aber dies war tatsächlich die einzig richtige Antwort, als ich meine Antwort veröffentlichte.
.Sortkönnen, warum nicht ?
List. Und die mit dieser Antwort verbundenen Kosten sind nicht trivial und auch unnötig. Es gewinnt buchstäblich nichts . Es erhöht die Komplexität des Codes, ist weniger präzise, weniger effizient und bietet hier buchstäblich nur Nachteile.
Sie können Sortieren verwenden
List<string> ListaServizi = new List<string>() { };
ListaServizi.Sort();
Andere Antworten sind richtig Sort, aber sie scheinen die Tatsache übersehen zu haben, dass der Speicherort als eingegeben ist IList<string. Sortist nicht Teil der Schnittstelle.
Wenn Sie wissen, dass dies ListaServiziimmer ein enthält List<string>, können Sie entweder den deklarierten Typ ändern oder eine Besetzung verwenden. Wenn Sie sich nicht sicher sind, können Sie den Typ testen:
if (typeof(List<string>).IsAssignableFrom(ListaServizi.GetType()))
((List<string>)ListaServizi).Sort();
else
{
//... some other solution; there are a few to choose from.
}
Vielleicht idiomatischer:
List<string> typeCheck = ListaServizi as List<string>;
if (typeCheck != null)
typeCheck.Sort();
else
{
//... some other solution; there are a few to choose from.
}
Wenn Sie wissen, dass dies ListaServizimanchmal eine andere Implementierung von enthält IList<string>, hinterlassen Sie einen Kommentar, und ich füge ein oder zwei Vorschläge zum Sortieren hinzu.
.Sortmsdn.microsoft.com/en-us/library/b0zbh7b6%28v=vs.90%29.aspx ?