【发布时间】:2008-12-09 19:03:54
【问题描述】:
在 C# 中,我正在尝试为 StringBuilder 构建一个名为 AppendCollection() 的扩展方法,它可以让我这样做:
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 最终会为列表中的每个人提供一行。每一行都是 p.ToString() 的结果。对于 stringOrders 也是如此。我不太确定如何编写代码以使 lambda 与泛型一起使用。
【问题讨论】:
-
有什么理由不想为此使用 String.Join()?
-
我希望能够传入一个 lambda 作为格式化程序,这样您就可以执行 sb1.AppendCollection(people, => p.FirstName + " " + p.LastName);
标签: c# generics lambda stringbuilder