Как я могу заказать список <string>?

У меня есть этот List<string>:

IList<string> ListaServizi = new List<string>();

Как я могу заказать его в алфавитном порядке и по возрастанию?

Ответ 1

ListaServizi = ListaServizi.OrderBy(q => q).ToList();

Ответ 2

Вы можете использовать Сортировать

List<string> ListaServizi = new List<string>() { };
ListaServizi.Sort();

Ответ 3

Другие ответы верны, чтобы предложить 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>, оставьте комментарий, и я добавлю предложение или два для его сортировки.

Ответ 4

ListaServizi.Sort();

Сделай это для себя. Это достаточно просто со списком строк. Вы должны быть немного умнее, если сортируете объекты.

Ответ 5

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