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
. Sort
non fa parte dell'interfaccia.
Se sai che ListaServizi
conterrà 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 ListaServizi
a volte conterrà un'implementazione diversa di IList<string>
, lascia un commento e aggiungerò uno o due suggerimenti per ordinarlo.
.Sort
msdn.microsoft.com/en-us/library/b0zbh7b6%28v=vs.90%29.aspx ?