Не получилось в списке сортировать номера. Почему-то идут не 1,2,3,4,5,10, а 1,10,2,3,4,5.

smartwisard

Client
Регистрация
17.01.2017
Сообщения
824
Благодарностей
83
Баллы
28
Перезагрузить? Пересоздать список?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113

smartwisard

Client
Регистрация
17.01.2017
Сообщения
824
Благодарностей
83
Баллы
28
Удивительно, но не помогло!
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
C#:
IZennoList list = project.Lists["List"]; // список проекта
List<string> tmpList = list.Where(x => !string.IsNullOrEmpty(x)).OrderBy(x => double.Parse(x.Replace(".", ","))).ToList();
list.Clear();
list.AddRange(tmpList);
Отсортирует числа по возрастанию, в том числе и с нулями в начале (напр., 001, 0999) и числа с плавающей запятой/точкой (напр., 0,1 , 99.9).
Для сортировки чисел по убыванию, OrderBy заменить на OrderByDescending
 

smartwisard

Client
Регистрация
17.01.2017
Сообщения
824
Благодарностей
83
Баллы
28
Ураааа, пора первый раз в жизни применить C#!
C#:
IZennoList list = project.Lists["PageNumbers"]; // список проекта
List<string> tmpList = list.Where(x => !string.IsNullOrEmpty(x)).OrderByDescending(x => double.Parse(x.Replace(".", ","))).ToList();
list.Clear();
list.AddRange(tmpList);
Отсортирует числа по возрастанию, в том числе и с нулями в начале (напр., 001, 0999) и числа с плавающей запятой/точкой (напр., 0,1 , 99.9).
Для сортировки чисел по убыванию, OrderBy заменить на OrderByDescending
Что ещё необходимо заменить, чтобы код заработал?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113

smartwisard

Client
Регистрация
17.01.2017
Сообщения
824
Благодарностей
83
Баллы
28
Отлично. После удаления пробелов и многоточий сразу сработало!
 

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