Có cách nào để chuyển đổi số List(of Object)
thành số List(of String)
trong C# hoặc vb.net mà không cần lặp qua tất cả các mục không? (Đằng sau những cảnh lặp là tốt - Tôi chỉ muốn mã ngắn gọn)Danh sách Chuyển đổi (của đối tượng) thành Danh sách (chuỗi)
Cập nhật: Cách tốt nhất có lẽ là chỉ để làm một mới chọn
myList.Select(function(i) i.ToString())
hoặc
myList.Select(i => i.ToString());
Thay vì OfType (lọc danh sách) sử dụng Chọn (i => i.ToString()) –
@geoff: Phụ thuộc vào những gì bạn đang tìm kiếm. Nếu một phần tử là null, i.ToString sẽ thất bại. Bạn cũng có thể xem xét Cast(); –
@MehrdadAfshari: Bất kể xử lý null, OfType() sẽ lọc ra các mục không phải là chuỗi - nó sẽ không cố gắng truyền hoặc gọi ToString(), chúng sẽ bị lọc ra. Đó không phải là những gì được yêu cầu. –