我有一条消息,打印出实体的名称及其计数。我使用了 StringBuilder
类。我有这样的代码:
message.AppendFormat("Items1: {0}",item1count).AppendLine();
message.AppendFormat("Items2Byb: {0}",item2count).AppendLine();
message.AppendFormat("Items3STCDEE: {0}",item3count).AppendLine();
message.AppendFormat("Items4HTECEEGG: {0}",item4count).AppendLine();
message.AppendFormat("ItemsASSTEC: {0}",item5count).AppendLine();
结果是这样出来的:
Items1: 1
Items2Byb: 3
Items3STCDEE 5
我想要的是正确的对齐方式,无论 Item 名称的长度是多少:
Items1: 1
Items2Byb: 3
Items3STCDEE 5
最佳答案
这是一种不使用 PadRight
的方法,它假定左侧标签的最大长度为 20
。当然,您应该将数字调整为 1 + max
。
using System;
using System.IO;
using System.Text;
public class P{
public static void Main(string[] args) {
StringBuilder message = new StringBuilder();
message.AppendFormat("{0,-20}{1}","Items1:",1).AppendLine();
message.AppendFormat("{0,-20}{1}","Items2Byb:",2).AppendLine();
message.AppendFormat("{0,-20}{1}","Items3STCDEE:", 3).AppendLine();
message.AppendFormat("{0,-20}{1}","Items4HTECEEGG:",4).AppendLine();
message.AppendFormat("{0,-20}{1}","ItemsASSTEC:",5).AppendLine();
Console.WriteLine(message.ToString());
}
}
输出:
Items1: 1
Items2Byb: 2
Items3STCDEE: 3
Items4HTECEEGG: 4
ItemsASSTEC: 5
关于c# - 如何正确格式化字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25389249/