Не получилось в списке сортировать номера. Почему-то идут не 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
Сообщения
22 469
Благодарностей
10 015
Баллы
113

smartwisard

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

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 139
Баллы
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 139
Баллы
113

smartwisard

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

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