【发布时间】:2019-06-10 20:53:03
【问题描述】:
我正在尝试一次将一行写入控制台和输出文件。我无法弄清楚如何填充字符串,以便字符串的左侧部分向左对齐,右侧部分在不同的 WriteLines 和 StreamWrite 之间类似地向右对齐。
我尝试使用 \t 如果字符串的左侧部分的长度与其他字符串相似,它会很好地工作,但如果字符串的长度差异太大,则会失败。
{
sw.WriteLine($"{now} {typeOfTransaction} \t ${transacAmnt:0.00} ${currentbalance:0.00}");
}
Expected Output:
6/10/2019 4:15:44 PM Added Money $10.00 $10.00
6/10/2019 4:15:53 PM Cloud Popcorn A4 $10.00 $6.35
6/10/2019 4:15:55 PM Cash Out $6.35 $0.00
Actual Output:
6/10/2019 4:15:44 PM Added Money $10.00 $10.00
6/10/2019 4:15:53 PM Cloud Popcorn A4 $10.00 $6.35
6/10/2019 4:15:55 PM Cash Out $6.35 $0.00
【问题讨论】:
-
@itsme86 建议的副本仅说明如何填充字符串。这个问题是关于列中的左/右对齐文本。回答这个问题不仅仅是填充字符串。列是否必须是固定宽度的,还是应该根据该列中最大的项目增长?
-
@Romen 如果将 2 个左/右填充字符串粘在一起,则会得到列。我不认为这是一个太大的飞跃。
-
@itsme86,我在评论的最后留下了一个问题,我希望 Brad L 也能看到。如果他们需要可变大小的列,那么
string.Format()是不够的。已经选择了提供固定宽度列的答案,所以我想这就是他们所需要的。
标签: c#