У меня есть этот List<string>
:
IList<string> ListaServizi = new List<string>();
Как я могу заказать его в алфавитном порядке и по возрастанию?
У меня есть этот List<string>
:
IList<string> ListaServizi = new List<string>();
Как я могу заказать его в алфавитном порядке и по возрастанию?
ListaServizi = ListaServizi.OrderBy(q => q).ToList();
Вы можете использовать Сортировать
List<string> ListaServizi = new List<string>() { };
ListaServizi.Sort();
Другие ответы верны, чтобы предложить Sort
, но они, похоже, не заметили, что место хранения указано как IList<string
. Sort
не является частью интерфейса.
Если вы знаете, что ListaServizi
всегда будет содержать List<string>
, вы можете либо изменить его объявленный тип, либо использовать трансляцию. Если вы не уверены, вы можете проверить тип:
if (typeof(List<string>).IsAssignableFrom(ListaServizi.GetType()))
((List<string>)ListaServizi).Sort();
else
{
//... some other solution; there are a few to choose from.
}
Возможно, более идиоматично:
List<string> typeCheck = ListaServizi as List<string>;
if (typeCheck != null)
typeCheck.Sort();
else
{
//... some other solution; there are a few to choose from.
}
Если вы знаете, что ListaServizi
будет иногда содержать другую реализацию IList<string>
, оставьте комментарий, и я добавлю предложение или два для его сортировки.
ListaServizi.Sort();
Сделай это для себя. Это достаточно просто со списком строк. Вы должны быть немного умнее, если сортируете объекты.
List<string> myCollection = new List<string>()
{
"Bob", "Bob","Alex", "Abdi", "Abdi", "Bob", "Alex", "Bob","Abdi"
};
myCollection.Sort();
foreach (var name in myCollection.Distinct())
{
Console.WriteLine(name + " " + myCollection.Count(x=> x == name));
}
выход: Абди 3 Алекс 2 Боб 4