Ho questo List<string>:
IList<string> ListaServizi = new List<string>();
Come posso ordinarlo in ordine alfabetico e crescente?
Ho questo List<string>:
IList<string> ListaServizi = new List<string>();
Come posso ordinarlo in ordine alfabetico e crescente?
Risposte:
ListaServizi = ListaServizi.OrderBy(q => q).ToList();
IList<string>. Questo codice funzionerebbe effettivamente come scritto, a differenza delle risposte che hanno ricevuto più voti positivi con ListaServizi.Sort(). Non sto dicendo che questa sia la soluzione che sceglierei, ma questa era in realtà l'unica risposta corretta quando ho pubblicato la mia risposta.
.Sort, allora perché non farlo.
List. E il costo associato a questa risposta non è banale e anche inutile. Non guadagna letteralmente nulla . Aggiunge complessità al codice, è meno conciso, è meno efficiente, non ci sono letteralmente nient'altro che svantaggi qui.
Puoi usare Ordina
List<string> ListaServizi = new List<string>() { };
ListaServizi.Sort();
Altre risposte sono corrette da suggerire Sort, ma sembra che abbiano trascurato il fatto che la posizione di archiviazione sia stata digitata come IList<string. Sortnon fa parte dell'interfaccia.
Se sai che ListaServiziconterrà sempre un List<string>, puoi cambiare il suo tipo dichiarato o usare un cast. Se non sei sicuro, puoi testare il tipo:
if (typeof(List<string>).IsAssignableFrom(ListaServizi.GetType()))
((List<string>)ListaServizi).Sort();
else
{
//... some other solution; there are a few to choose from.
}
Forse più idiomatico:
List<string> typeCheck = ListaServizi as List<string>;
if (typeCheck != null)
typeCheck.Sort();
else
{
//... some other solution; there are a few to choose from.
}
Se sai che ListaServizia volte conterrà un'implementazione diversa di IList<string>, lascia un commento e aggiungerò uno o due suggerimenti per ordinarlo.
.Sortmsdn.microsoft.com/en-us/library/b0zbh7b6%28v=vs.90%29.aspx ?