如何在String.Format中使用变量

时间:2016-09-16 17:22:05

标签: c#

我想在循环中使用String.Format,但它不允许我在i中定义变量String.Format。这是我的代码

StringBuilder Sb;
for(i=0 ;i<=myObj.length;i++)
{
    Sb=Sb.Append(String.Format("{i,5}",myObj[i].Tostring()));
}

1 个答案:

答案 0 :(得分:4)

要在Format方法中使用它,可以使用与params数组的索引相对应的数字。

此外,请勿重新分配Sb,只需致电AppendAppendFormat

Sb.Append(String.Format("{0,5}", myObj[i].ToString()));
//or
Sb.AppendFormat("{0,5}", myObj[i].ToString());

如果您有幸使用最新且最好的C#版本,则可以跳过Format并使用新的string interpolation语法执行此操作:

Sp.Append($"{myObj[i],5}");

或者,因为你所做的只是填充,所以你也可以这样做:

Sb.Append(myObj[i].ToString().PadLeft(5));