Tôi có một nhóm thu nhập kế thừa từ List<>
. Tôi đã thiết lập một chức năng để sắp xếp danh sách bằng một tài sản nhất định như vậy:Trả lại loại thích hợp sau khi sử dụng OrderBy()
public PlaylistCollection SortByName(IEnumerable<Playlist> playlists)
{
return (PlaylistCollection)playlists.OrderBy(p => p.Name);
}
Khi tôi cố gắng sử dụng các kết quả được sắp xếp trong mã của tôi như thế này:
artistSource.Playlists = (PlaylistCollection)new List<Playlist>(artistSource.Playlists.SortByName(artistSource.Playlists));
tôi nhận được lỗi :
Unable to cast object of type 'System.Linq.OrderedEnumerable`2[...Playlist,System.String]'
to type '...PlaylistCollection'."
Điều này thật đáng lo ngại khi VS nói với tôi rằng một chuyển đổi rõ ràng tồn tại, vì vậy tôi đã thêm đoạn băng ở trên.
Làm cách nào để truyền từ IEnumerable<>
vào bộ sưu tập của tôi?
Trong khi tôi đã cố gắng đề nghị đầu tiên của bạn trước đã, tôi kết hợp nó với đề nghị thứ hai của bạn và nó chỉ làm việc tốt. Tôi đã làm điều đó như ban đầu, tôi chỉ hy vọng cho một giải pháp 'tao nhã' hơn, tôi đoán vậy. Cảm ơn! –