Нужна естественная сортировка

271
04 октября 2021, 19:00
public class NaturalStringComparer : IComparer<string>
{
    [System.Runtime.InteropServices.DllImport("shlwapi.dll", ExactSpelling = true)]
    static extern int StrCmpLogicalW(string s1, string s2);
    public int Compare(string x, string y)
    {
        return StrCmpLogicalW(x, y);
    }
}
List<string> ListResult = new List<string>();
for(int i=0; i < 21; i++)
{
    ListResult.Add(i.ToString());
}
ListResult.Sort(new NaturalStringComparer());
File.WriteAllLines("TestList.txt", ListResult.ToArray());
//Результат 
//  0
//  1
//  2
//  3
//  4
//  5
//  6
//  7
//  8
//  9
//  13
//  11
//  12
//  14
//  15
//  16
//  17
//  18
//  19
//  20
//  10

А нужно чтобы все по порядку было

Answer 1

Вопрос решен. забыл добавить CharSet = CharSet.Unicode

[System.Runtime.InteropServices.DllImport("shlwapi.dll", CharSet = CharSet.Unicode, ExactSpelling = true)]
READ ALSO
Можно ли получить урлы всех результатов умного фильтра в битриксе?

Можно ли получить урлы всех результатов умного фильтра в битриксе?

Пришла задача вывести в sitemapxml результаты фильтра по 2м пересечениям свойств в каталоге продукции, но я начинающий и даже пока не понимаю,...

116
Как, при определенных условиях, не вставлять значение при объявлении массива php?

Как, при определенных условиях, не вставлять значение при объявлении массива php?

Можно ли просто пропускать вставку значения в массив, когда $bool == false? Интересует пропуск вставки именно в таком виде, а не в таком:

126
Распарсить текст php

Распарсить текст php

Подскажите пожалуйста, есть такой код php

252
Добавить символ в начало и конец строки php

Добавить символ в начало и конец строки php

Подскажите пожалуйста, передаю с помощью textarea post php такой текст:

174