我在一个循环中有一个数组。
一次,数组可能有不同的大小(可能是1,2,3,4,5,6,7,8
等元素)
如何在不指定数组的确切大小的情况下使用string.Format
:
包含6名成员的列表的代码。
StringBuilder stringBuilder = new StringBuilder();
line = stringBuilder.AppendLine(string.Format("{0, -40}
{1, -40} {2, -25} {3, -15} {4, -15} {5, -15} ",
listString[0], listString[1], listString[2],
listString[3], listString[4], listString[5]))
.ToString();
Console.WriteLine(line)
我需要一段代码来格式化我的字符串,而不需要在特定数量的元素的情况下编写特定的代码。我不知道的任何功能? :)
答案 0 :(得分:4)
基本上,不要在这里使用string.Format
- 而是使用适当的格式说明符,使用每个元素的Append循环遍历数组。
for(int i=0;i<arr.Length;i++) {
if(i!=0) builder.Append(' ');
// need to apply format per i, it seems builder.Append(arr[i].ToString(formatSpecifier));
}
builder.AppendLine();
答案 1 :(得分:1)
尽管这是一个老问题,但我想我会回答那些从谷歌来到这里的人。
我的方法是使用foreach循环和StringBuilder,然后将每个元素追加到字符串的末尾。 一旦字符串'构建',只需在String.Format
中打印字符串StringBuilder sb = new StringBuilder();
foreach(int number in listString)
{
sb.Append(number).Append("\n"); //or whatever separator you would like
}
string sbResult = sb.ToString();
Console.WriteLine(String.Format("Write your content here {0}", sbResult));
希望这对某人有用。