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

时间:2018-10-16 17:42:45

标签: c# c#-6.0

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

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

    .Gallery{
      display:-ms-grid;
      display:grid;
      grid-gap: 10px;
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
      grid-auto-flow: dense;
    }                
    img {
      max-width: 100%;
    }

  .big{
    -ms-grid-column-span: 2;
    -ms-grid-column: auto;
        grid-column: auto/ span 2;
    -ms-grid-row-span: 2;
    -ms-grid-row: auto;
        grid-row: auto/span 2;
  }

会导致(例如)

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

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

Joe       : 26
Dan       : 52

(我知道我可以做Joe.......: 26 Dan.......: 52 ,但是我很确定有一种方法可以使用字符串插值参数,例如填充长度)。

2 个答案:

答案 0 :(得分:1)

浏览Microsoft's Docs for the alignment component进行字符串格式化,我发现了这个小片段。

  

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

如果要使用字符串插值,则会遇到空白问题。如您前面所述,string.PadRight()就可以解决。

答案 1 :(得分:-1)

@Tar您为什么不尝试此操作:

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

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