Mam to List<string>:
IList<string> ListaServizi = new List<string>();
Jak mogę uporządkować alfabetycznie i rosnąco?
Mam to List<string>:
IList<string> ListaServizi = new List<string>();
Jak mogę uporządkować alfabetycznie i rosnąco?
Odpowiedzi:
ListaServizi = ListaServizi.OrderBy(q => q).ToList();
IList<string>. Ten kod działałby tak, jak napisano, w przeciwieństwie do odpowiedzi, które otrzymały więcej głosów za ListaServizi.Sort(). Nie mówię, że to jest rozwiązanie, które wybrałem, ale w rzeczywistości była to jedyna poprawna odpowiedź, kiedy opublikowałem swoją odpowiedź.
.Sort, to dlaczego tego nie zrobić.
List. Koszt związany z tą odpowiedzią jest nietrywialny, a także niepotrzebny. Dosłownie nic nie zyskuje . Dodaje złożoności do kodu, jest mniej zwięzły, mniej wydajny, nie ma tu dosłownie nic oprócz wad.
Możesz użyć Sortuj
List<string> ListaServizi = new List<string>() { };
ListaServizi.Sort();
Inne odpowiedzi są poprawne Sort, ale wydaje się, że przeoczyły one fakt, że miejsce przechowywania jest wpisane jako IList<string. Sortnie jest częścią interfejsu.
Jeśli wiesz, że ListaServizizawsze będzie zawierał a List<string>, możesz zmienić jego zadeklarowany typ lub użyć rzutowania. Jeśli nie masz pewności, możesz przetestować typ:
if (typeof(List<string>).IsAssignableFrom(ListaServizi.GetType()))
((List<string>)ListaServizi).Sort();
else
{
//... some other solution; there are a few to choose from.
}
Być może bardziej idiomatyczne:
List<string> typeCheck = ListaServizi as List<string>;
if (typeCheck != null)
typeCheck.Sort();
else
{
//... some other solution; there are a few to choose from.
}
Jeśli wiesz, że ListaServiziczasami będzie to zawierać inną implementację IList<string>, zostaw komentarz, a ja dodam sugestię lub dwie dotyczące sortowania.
.Sortmsdn.microsoft.com/en-us/library/b0zbh7b6%28v=vs.90%29.aspx ?