tôi có một danh sách như thế này:Sắp xếp một danh sách các chuỗi số lượng (1,2, ..., thay vì 9,10 1,10,2)
var l = new List<string> {"bla 1.txt","bla 2.txt","bla 10.txt","bla 3.txt"};
Nếu tôi gọi l.Sort (), danh sách được sắp xếp theo thứ tự 1,10,2,3 có ý nghĩa từ quan điểm chuỗi thuần túy, nhưng hút từ góc độ người dùng.
Vì tôi không muốn/không thể buộc người dùng đặt tên cho họ là 01, 02, 03, ... Tôi tự hỏi liệu có phương pháp tích hợp hay thuật toán đơn giản để phát hiện và sắp xếp số đúng cách , để tôi có 1,2,3,10? Vì các số chỉ dài 1 hoặc 2 ký tự (ví dụ, không quá 99), tôi có thể thực hiện một regex tạm thời tiền tố tất cả các số có 1 chữ số với 0 và sắp xếp, nhưng trước khi tôi phát minh lại bánh xe, tôi tự hỏi có gì không tồn tại ?
.net 3.5SP1 nếu có vấn đề, không phải là 4.0
Có vẻ như có liên quan, hãy xem http://stackoverflow.com/questions/1022203/sorting-strings-containing-numbers-in-a-user-friendly-way – VoodooChild
Bản sao của http://stackoverflow.com/ q/248603/24874 –