帮助进行字符串操作
本文关键字:操作 字符串 帮助 | 更新日期: 2023-09-27 17:57:03
我正在做一些数据操作和记录已更新的记录及其字段。
我已经简化了下面的示例,但基本上我将行附加到字符串生成器,然后将其写入文本文件
我附加行:
changedValues.AppendLine(string.Format("NEW VALUE: {0} | OLD VALUE {1}", Customer1.name, Customer2.name));
changedValues.AppendLine(string.Format("NEW VALUE: {0} | OLD VALUE {1}", Customer1.number, Customer2.number));
changedValues.AppendLine(string.Format("NEW VALUE: {0} | OLD VALUE {1}", Customer1.phone, Customer2.phone))
我的问题是姓名,电话和号码(以及更多)具有不同的长度,因此日志文件看起来像:
NEW VALUE: blabla | OLD VALUE blablabla
NEW VALUE: 123123123123123 | OLD VALUE 134
NEW VALUE: 213213232 | OLD VALUE 12333322333
这使得它比看起来像这样更难阅读:
NEW VALUE: blabla | OLD VALUE blablabla
NEW VALUE: 123123123123123 | OLD VALUE 134
NEW VALUE: 213213232 | OLD VALUE 12333322333
我怎样才能做到这一点?
提前谢谢。
您应该提前定义最长的第一个可能值。例如 20:
sb.AppendFormat("NEW VALUE: {0,-20}| OLD VALUE {1}'r'n", Customer1.name, Customer2.name);
查看复合格式
changedValues.AppendLine(string.Format("NEW VALUE: {0:-20} | OLD VALUE {1}", Customer1.name, Customer2.name));
格式{ index[,alignment][:formatString]}
可选的对齐组件是 有符号整数,指示 首选格式化字段宽度。如果 对齐值小于 格式化字符串的长度, 对齐方式将被忽略,长度 格式化字符串用作 字段宽度。格式化的数据在 如果对齐方式为 正对齐和左对齐(如果对齐) 为负数。如果需要填充, 使用空格。逗号是 如果指定了对齐方式,则为必需。
使用 PadRight,如以下示例:
static void Main()
{
string[] a = new string[]
{
"cat",
"poodle",
"lizard",
"frog",
"photon"
};
// Output the header.
Console.Write("Key".PadRight(15));
Console.WriteLine("Value");
// Output array.
foreach (string s in a)
{
Console.Write(s.PadRight(15));
Console.WriteLine("noun");
}
}
Output
Key Value
cat noun
poodle noun
lizard noun
frog noun
photon noun
如果您知道值的最大宽度,则可以使用 String.PadRight()。
Customer1.name.PadRight(15, ' ')
并对其他值执行相同的操作。