Trong C#, tôi đang cố gắng để xây dựng một phương pháp mở rộng cho StringBuilder gọi AppendCollection() mà sẽ cho phép tôi làm điều này:StringBuilder cho phụ thêm một bộ sưu tập trong C#
var sb1 = new StringBuilder();
var sb2 = new StringBuilder();
var people = new List<Person>() { ...init people here... };
var orders = new List<Orders>() { ...init orders here... };
sb1.AppendCollection(people, p => p.ToString());
sb2.AppendCollection(orders, o => o.ToString());
string stringPeople = sb1.ToString();
string stringOrders = sb2.ToString();
stringPeople sẽ kết thúc với một cho mỗi người trong danh sách. Mỗi dòng sẽ là kết quả của p.ToString(). Tương tự như vậy đối với chuỗiOrders. Tôi không hoàn toàn chắc chắn làm thế nào để viết mã để làm cho lambdas làm việc với Generics.
Bất kỳ lý do bạn không muốn sử dụng String.Join() cho việc này? – philsquared
Tôi muốn có thể vượt qua trong một lambda như một trình định dạng để bạn có thể làm những việc như sb1.AppendCollection (người, => p.FirstName + "" + p.LastName); –