繁体   English   中英

使用字符串插值,如何填充给定字符?

[英]Using string interpolation, how to pad with a given character?

我知道我在这里有危险,但在 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,'.') ,但我很确定有一种方法可以使用字符串插值参数,比如填充长度)。

浏览Microsoft 的 Docs 以了解字符串格式的对齐组件,我发现了这个小摘录。

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

如果你打算使用字符串插值,你就会被空格卡住。 正如您之前提到的, string.PadRight()足以作为一种解决方法。

@Tar 为什么不试试这个:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM