【问题标题】:Custom format string自定义格式字符串
【发布时间】:2016-12-01 07:37:02
【问题描述】:
我正在寻找一些通用解决方案,以便生成字符串。就像我希望为 id 保留前 10 个字符,接下来的 20 个字符需要为 name 等保留,但是这个字符长度是我的改变。此要求适用于 ibm mq 消息。
例如:如果我的 id 是 001,名字是 namexxxx,年龄 25,那么我的最终字符串应该是这样的:
001 namexxxx 25
【问题讨论】:
标签:
c#
string
format
message
mq
【解决方案1】:
使用String.PadRight 你可以做到这一点。您还可以将这些作为参数传递给方法,或从配置文件或数据库中读取它们:
Console.WriteLine(id.PadRight(10) + name.PadRight(20) + age.PadRight(5));
另一种方法是使用String.Format,但这个参数化有点混乱:
Console.WriteLine(String.Format("{0,-10}{1,-20}{2,-5}", id, name, age));
两种情况下的输出:
001 namexxxx 25