将字符串与字符串对齐.格式化()
本文关键字:字符串 格式化 对齐 | 更新日期: 2023-09-27 18:27:47
我得到了一个方法,它接收一条消息和一个Priority
枚举,并返回一个格式化的字符串。
private string FormatMessage(string message, Priority priority)
{
return string.Format("*{0,-6}* - {1}", priority, message);
}
Priority
有三个可能的值:High
、Medium
和Low
。
我使用string.Format
的对齐选项,这样输出看起来会很好。我想要的输出是这样的:
*Low* - First message
*Medium* - Second message
*Low* - Third message
然而,我得到的是:
*Low * - First message
*Medium* - Second message
*Low * - Third message
我理解为什么会发生这种情况,但我想知道的是,是否有一种简单(正确)的方法可以通过使用string.Format
并且不引入任何新变量来获得所需的输出。
string.Format("{0,-8} - {1}", "*" + priority + "*", message);
或者,如果你觉得新奇:
string.Format("{0,-8} - {1}", string.Format("*{0}*", priority), message);
string.Format("{0,-8} - {1}", string.Join(priority, new [] {"*", "*"}), message);
你能把第一列放大到8个空格吗?,如果是。。。
private string FormatMessage(string message, Priority priority)
{
return string.Format("{0,-8} - {1}", "*" + priority.ToString() + "*", message);
}