Để rõ ràng, OrderBy
sẽ không sắp xếp mảng tại chỗ - nó sẽ trả về một chuỗi mới được sắp xếp sao chép của mảng. Nếu đó là okay, sau đó bạn muốn một cái gì đó như:
var sorted = array.OrderBy(item => item.Fields["FieldName"].Value);
Mặt khác, tôi không hiểu bình luận của bạn rằng tài sản được trả về như là một chuỗi nhưng điều đó bạn có thể bỏ nó vào một int - bạn không thể tạo chuỗi thành int, bạn phải phân tích cú pháp chúng. Nếu đó là những gì bạn có nghĩa là, có thể bạn muốn:
var sorted = array.OrderBy(item => int.Parse(item.Fields["FieldName"].Value));
Nếu bạn muốn điều đó như một mảng, bạn có thể gọi ToArray()
sau:
var sorted = array.OrderBy(item => int.Parse(item.Fields["FieldName"].Value))
.ToArray();
Hoặc bạn có thể sử dụng Array.Sort
nếu bạn muốn sắp xếp trong- nơi, nhưng điều đó sẽ hơi lộn xộn hơn.
Nguồn
2009-03-06 21:43:41
@skeet tôi đang gặp phải vấn đề gần như giống nhau và tôi đã đăng câu hỏi cũng http://stackoverflow.com/questions/11693827/sorting-on-generic-list-after -using-toarray-method – rahularyansharma
Cảm ơn, Jon. Điều cần biết đó là một hoạt động không phá hoại –
bạn phải đưa thư viện nào cho người dùng 'OrderBy'? – AlbatrossCafe