C# では、これを可能にする AppendCollection() という StringBuilder の拡張メソッドを構築しようとしています。
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 についても同様です。ラムダをジェネリックで動作させるコードの書き方がよくわかりません。