C# Stringbuilder从多个数组追加表单

C# Stringbuilder从多个数组追加表单,c#,string,string-formatting,stringbuilder,C#,String,String Formatting,Stringbuilder,我有一个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); sb.Append(resul

我有一个
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);
sb.Append(result);
var sb=new StringBuilder();
var list1=新列表(){“a”、“b”、“c”}
var list2=新列表(){“d”,“e”}
sb.AppendFormat(“{0},{1},{2},{3},{4}”,列表1,列表2);
我得到一个例外:

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

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

var temp = new List<string>();
temp.AddRange(list1);
temp.AddRange(list2);
sb.AppendFormat(" {0}, {1} ,{2}  ,{3}  ,{4} ", new List().Add);
var temp=new List();
温度范围(列表1);
温度范围(列表2);
sb.AppendFormat(“{0},{1},{2},{3},{4}”,new List().Add);
有更优雅的方法吗?

试试这个:

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.Concat(list2).ToArray());
Console.WriteLine(sb.ToString());
var sb=new StringBuilder();
var list1=新列表(){“a”、“b”、“c”};
var list2=新列表(){“d”,“e”};
sb.AppendFormat(“{0},{1},{2},{3},{4}”,list1.Concat(list2.ToArray());
Console.WriteLine(sb.ToString());
试试这个:

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.Concat(list2).ToArray());
Console.WriteLine(sb.ToString());
var sb=new StringBuilder();
var list1=新列表(){“a”、“b”、“c”};
var list2=新列表(){“d”,“e”};
sb.AppendFormat(“{0},{1},{2},{3},{4}”,list1.Concat(list2.ToArray());
Console.WriteLine(sb.ToString());

您可以做如下简单的事情:

var result = string.Join(",", list1.Concat(list2));
您可以将其附加到字符串生成器,如下所示:

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);
sb.Append(result);

您可以做如下简单的事情:

var result = string.Join(",", list1.Concat(list2));
您可以将其附加到字符串生成器,如下所示:

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);
sb.Append(result);