Eu tenho isso List<string>
:
IList<string> ListaServizi = new List<string>();
Como posso ordená-lo em ordem alfabética e crescente?
Eu tenho isso List<string>
:
IList<string> ListaServizi = new List<string>();
Como posso ordená-lo em ordem alfabética e crescente?
Respostas:
ListaServizi = ListaServizi.OrderBy(q => q).ToList();
IList<string>
. Este código funcionaria como escrito, ao contrário das respostas que receberam mais votos positivos com ListaServizi.Sort()
. Não estou dizendo que essa é a solução que eu escolheria, mas essa foi, na verdade, a única resposta correta quando postei minha resposta.
.Sort
-lo, por que não fazer isso.
List
. E o custo associado a essa resposta não é trivial e também desnecessário. Literalmente não ganha nada . Ele adiciona complexidade ao código, é menos conciso, é menos eficiente, não há literalmente nada além de desvantagens aqui.
Você pode usar Classificar
List<string> ListaServizi = new List<string>() { };
ListaServizi.Sort();
Outras respostas estão corretas para sugerir Sort
, mas parecem não perceber o fato de que o local de armazenamento é digitado como IList<string
. Sort
não faz parte da interface.
Se você sabe que ListaServizi
sempre conterá um List<string>
, poderá alterar seu tipo declarado ou usar uma conversão. Se não tiver certeza, você pode testar o tipo:
if (typeof(List<string>).IsAssignableFrom(ListaServizi.GetType()))
((List<string>)ListaServizi).Sort();
else
{
//... some other solution; there are a few to choose from.
}
Talvez mais idiomático:
List<string> typeCheck = ListaServizi as List<string>;
if (typeCheck != null)
typeCheck.Sort();
else
{
//... some other solution; there are a few to choose from.
}
Se você sabe que ListaServizi
às vezes terá uma implementação diferente de IList<string>
, deixe um comentário e adicionarei uma sugestão ou duas para classificá-la.
.Sort
msdn.microsoft.com/en-us/library/b0zbh7b6%28v=vs.90%29.aspx ?