【问题标题】:Using string interpolation, how to pad with a given character?使用字符串插值,如何填充给定字符?
【发布时间】:2019-03-21 07:45:44
【问题描述】:

我知道我在这里有危险,但在 SO/Google 中找不到:

使用字符串插值,我如何填充给定的字符?例如:

foreach (var p in people) {
    Console.WriteLine($"{p.Name,-10}: {p.Age}");
}

将导致(例如):

Joe       : 26
Dan       : 52

如何通过字符串插值更改带点的空格?得到:

Joe.......: 26
Dan.......: 52

(我知道我可以做到p.Name.PadRight(10,'.'),但我很确定有一种方法可以使用字符串插值参数,例如填充长度)。

【问题讨论】:

标签: c# c#-6.0


【解决方案1】:

浏览Microsoft's Docs for the alignment component 进行字符串格式化,我找到了这个小摘录。

如果需要填充,则使用空格。

如果您要使用字符串插值,您会遇到空白。正如您之前提到的,string.PadRight() 足以作为一种解决方法。

【讨论】:

  • @Tar 你试过我在下面发布的解决方案了吗?或者它不是你想要的。
  • @RazvanR,我知道这个选项,我希望通过字符串插值机制获得更清晰的解决方案
  • 哦,好的,知道了@Tar
【解决方案2】:

@Tar 你为什么不试试这个:

var paddingWithChar = new string ('.', lengthOfPaddingAsInt); 

Console.WriteLine ($"{p.Name}{paddingWithChar}:{p.Age,10}");

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2023-04-02
  • 2015-11-04
  • 2021-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多