示例
int[] years = { 2013, 2014, 2015 }; int[] population = { 1025632, 1105967, 1148203 }; var sb = new System.Text.StringBuilder(); sb.Append(String.Format("{0,6} {1,15}\n\n", "Year", "Population")); for (int index = 0; index < years.Length; index++) sb.Append(String.Format("{0,6} {1,15:N0}\n", years[index], population[index])); Console.WriteLine(sb); // Result: // Year Population // // 2013 1,025,632 // 2014 1,105,967 // 2015 1,148,203
说明
1、使用String.Fromat
方法控制字符串输出间距常用重载有Format(String, Object0,Object1...)
和 Format(String, Object[])
2、Format
是静态方法,故直接通过 String.Format
直接调用;
3、参数中String
是一组中括号括起来的使用逗号分隔的2个数字,第一位是索引号从零开始,第二位是字符串宽度,正数代表右对齐,负数代表左对齐,可按照如下所示格式定义:
string columnWidth = "{0,-20} {1,-5} {2,-10} {3,-5} {4,-20} {5,-5} {6,-10} {7,5} {8,10} {9,5} {10,10}" +
"{11,5}{12,15} {13,5} {14,10} {15,5} {16,10}";
4、参数Object0,Object1...
或Object[]
可以是多个使用逗号分隔的字符串或Object类型的数组,示例中使用的是多个字符串,Object数组示例String.Format(columnWidth, lsItem.ToArray())
,lstItem是字符串类型的list,此处通过ToArray将它转换为数组使用;