А возможно отсортировать список по длине строки?

Vladimirvolga

Пользователь
Регистрация
29.06.2017
Сообщения
134
Благодарностей
10
Баллы
18
Добрый день!
Возникла такая необходимость.
Подскажите, если не трудно и есть идеи.

Спасибо!
 

Scorpio2011

Client
Регистрация
07.02.2015
Сообщения
104
Благодарностей
18
Баллы
18
C#:
var lst = project.Lists["data"].ToList(); // зеновский список
var sortedWords = lst.OrderByDescending(x => x.Length);
project.Lists["data"].Clear();
project.Lists["data"].AddRange(sortedWords);
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 761
Благодарностей
2 401
Баллы
113
C#:
var lst = project.Lists["data"].ToList(); // зеновский список
var sortedWords = lst.OrderByDescending(x => x.Length);
project.Lists["data"].Clear();
project.Lists["data"].AddRange(sortedWords);
Подкорректирую вариант для многопотока
C#:
project.Lists["list"].AddRange(new[]{"2","ещё одна", "","444","строка"}); // Заполнили демо данными
lock(SyncObjects.ListSyncer) {
    project.Lists["list"].GetItems("0-end", true)         // Взяли все строчки с удалением
        .Where(line => !string.IsNullOrEmpty(line))     // Убрали пустые строки
        .OrderByDescending(line => line.Length)          // Отсортировали по убыванию
        .ToList()                                       // Применили изменения
        .ForEach(project.Lists["list"].Add);              // Вернули данные в список
}
105606
 
  • Спасибо
Реакции: Ilshakin

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)