Stringbuilder从多个数组中追加表单

Sha*_*ler 1 c# string stringbuilder string-formatting

我有一个StringBuilder,我试图从多个列表中追加参数,如下所示:

var sb = new StringBuilder();
var list1 = new List<string>() { "a", "b", "c" }
var list2 = new List<string>() { "d", "e" }
sb.AppendFormat(" {0}, {1}, {2}, {3}, {4} ", list1, list2);
Run Code Online (Sandbox Code Playgroud)

我得到一个例外:

索引(从零开始)必须大于或等于零且小于参数列表的大小.

我做的工作就是创建一个临时列表

var temp = new List<string>();
temp.AddRange(list1);
temp.AddRange(list2);
sb.AppendFormat(" {0}, {1} ,{2}  ,{3}  ,{4} ", new List().Add);
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方式来做到这一点?

Yac*_*sad 8

你可以做一些简单的事情:

var result = string.Join(",", list1.Concat(list2));
Run Code Online (Sandbox Code Playgroud)

您可以将此附加到字符串生成器,如下所示:

sb.Append(result);
Run Code Online (Sandbox Code Playgroud)