J'ai ceci List<string>:
IList<string> ListaServizi = new List<string>();
Comment puis-je le commander par ordre alphabétique et croissant?
J'ai ceci List<string>:
IList<string> ListaServizi = new List<string>();
Comment puis-je le commander par ordre alphabétique et croissant?
Réponses:
ListaServizi = ListaServizi.OrderBy(q => q).ToList();
IList<string>. Ce code fonctionnerait en fait comme écrit, contrairement aux réponses qui ont reçu plus de votes positifs avec ListaServizi.Sort(). Je ne dis pas que c'est la solution que je choisirais, mais c'était en fait la seule bonne réponse lorsque j'ai publié ma réponse.
.Sort, alors pourquoi ne pas le faire.
List. Et le coût associé à cette réponse est non négligeable et également inutile. Il ne gagne littéralement rien . Cela ajoute de la complexité au code, c'est moins concis, c'est moins efficace, il n'y a littéralement que des inconvénients ici.
Vous pouvez utiliser Trier
List<string> ListaServizi = new List<string>() { };
ListaServizi.Sort();
D'autres réponses sont correctes à suggérer Sort, mais elles semblent avoir manqué le fait que l'emplacement de stockage est tapé comme IList<string. Sortne fait pas partie de l'interface.
Si vous savez qu'il ListaServizicontiendra toujours un List<string>, vous pouvez soit changer son type déclaré, soit utiliser un cast. Si vous n'êtes pas sûr, vous pouvez tester le type:
if (typeof(List<string>).IsAssignableFrom(ListaServizi.GetType()))
((List<string>)ListaServizi).Sort();
else
{
//... some other solution; there are a few to choose from.
}
Peut-être plus idiomatique:
List<string> typeCheck = ListaServizi as List<string>;
if (typeCheck != null)
typeCheck.Sort();
else
{
//... some other solution; there are a few to choose from.
}
Si vous savez que cela ListaServizicontiendra parfois une implémentation différente de IList<string>, laissez un commentaire et j'ajouterai une suggestion ou deux pour le trier.
.Sortmsdn.microsoft.com/en-us/library/b0zbh7b6%28v=vs.90%29.aspx ?