Trong mã của tôi, tôi thường xuyên có các trình tự như sau:Làm thế nào để làm danh sách hiểu (cách nhỏ gọn để chuyển đổi một danh sách vào danh sách khác) trong C#?
List<type1> list1 = ...;
List<type2> list2 = new List<type2>();
foreach(type1 l1 in list1)
{
list2.Add(myTransformFunc(l1));
}
Trong Python, tôi có thể viết nó như
list2 = [myTransformFunc(l1) for l1 in list1]
Có cách nào nhỏ gọn để viết nó trong C#?
dụ python của bạn không thực sự là một chuyển đổi, nhưng một danh sách hiểu. Xem http://en.wikipedia.org/wiki/List_comprehension –
Lưu ý rằng Eric Lippert đề xuất sử dụng foreach trong trường hợp này. Tôi là một fan hâm mộ lớn của danh sách comprehensions, nhưng sau khi đọc bài viết của mình về điều này (http://blogs.msdn.com/b/ericlippert/archive/2009/05/18/foreach-vs-foreach.aspx) tôi đã bị thuyết phục. –