我想在循环中使用String.Format
,但它不允许我在i
中定义变量String.Format
。这是我的代码
StringBuilder Sb;
for(i=0 ;i<=myObj.length;i++)
{
Sb=Sb.Append(String.Format("{i,5}",myObj[i].Tostring()));
}
答案 0 :(得分:4)
要在Format
方法中使用它,可以使用与params数组的索引相对应的数字。
此外,请勿重新分配Sb
,只需致电Append
或AppendFormat
:
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));