Tôi đang tìm một thuật toán sắp xếp các chuỗi tương tự như cách tệp (và thư mục) được sắp xếp trong Windows Explorer. Dường như giá trị số trong chuỗi được tính đến khi sắp xếp mà kết quả trong một cái gì đó giống nhưPhương pháp sắp xếp Windows Explorer
name 1, name 2, name 10
thay vì
name 1, name 10, name 2
mà bạn nhận được với một so sánh chuỗi thông thường.
Tôi sắp bắt đầu viết bản thân mình nhưng muốn kiểm tra xem có ai đã làm điều này trước đây và sẵn sàng chia sẻ một số mã hoặc thông tin chi tiết. Cách tôi sẽ tiếp cận này sẽ là thêm số 0 đầu vào các giá trị số trong tên trước khi so sánh chúng. Điều này sẽ dẫn đến một cái gì đó như:
name 00001, name 00010, name 00002
khi được sắp xếp theo kiểu chuỗi thông thường sẽ cho tôi kết quả chính xác.
Bất kỳ ý tưởng nào?
http://stackoverflow.com/questions/248603/natural-sort-order-in-c-sharp –