Tôi có cái này List<string>
:
IList<string> ListaServizi = new List<string>();
Làm thế nào tôi có thể sắp xếp nó theo thứ tự bảng chữ cái và tăng dần?
Tôi có cái này List<string>
:
IList<string> ListaServizi = new List<string>();
Làm thế nào tôi có thể sắp xếp nó theo thứ tự bảng chữ cái và tăng dần?
Câu trả lời:
ListaServizi = ListaServizi.OrderBy(q => q).ToList();
IList<string>
. Mã này thực sự sẽ hoạt động như được viết, không giống như các câu trả lời nhận được nhiều phiếu tán thành hơn ListaServizi.Sort()
. Tôi không nói rằng đây là giải pháp tôi sẽ chọn, nhưng đây thực sự là câu trả lời đúng duy nhất khi tôi đăng câu trả lời của mình.
.Sort
nó, thì tại sao không làm điều đó.
List
. Và chi phí liên quan đến câu trả lời này là không nhỏ và cũng không cần thiết. Nó thực sự không thu được gì . Nó làm tăng thêm độ phức tạp cho mã, nó kém ngắn gọn hơn, kém hiệu quả hơn, không có gì khác ngoài nhược điểm ở đây.
Bạn có thể sử dụng Sắp xếp
List<string> ListaServizi = new List<string>() { };
ListaServizi.Sort();
Các câu trả lời khác là chính xác để đề xuất Sort
, nhưng họ dường như đã bỏ lỡ thực tế là vị trí lưu trữ được nhập là IList<string
. Sort
không phải là một phần của giao diện.
Nếu bạn biết rằng ListaServizi
sẽ luôn chứa a List<string>
, bạn có thể thay đổi kiểu đã khai báo của nó hoặc sử dụng kiểu ép kiểu. Nếu bạn không chắc chắn, bạn có thể kiểm tra loại:
if (typeof(List<string>).IsAssignableFrom(ListaServizi.GetType()))
((List<string>)ListaServizi).Sort();
else
{
//... some other solution; there are a few to choose from.
}
Có lẽ thành ngữ hơn:
List<string> typeCheck = ListaServizi as List<string>;
if (typeCheck != null)
typeCheck.Sort();
else
{
//... some other solution; there are a few to choose from.
}
Nếu bạn biết rằng ListaServizi
đôi khi sẽ tổ chức một cách triển khai khác IList<string>
, hãy để lại nhận xét và tôi sẽ thêm một hoặc hai đề xuất để sắp xếp nó.
.Sort
msdn.microsoft.com/en-us/library/b0zbh7b6%28v=vs.90%29.aspx chưa?