Loading

C# .Net中String.Format方法之控制字符串间距

示例

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将它转换为数组使用;

posted @ 2021-09-02 09:37  dsmilely  阅读(768)  评论(0编辑  收藏  举报