【问题标题】:String interpolation - repeat [duplicate]字符串插值 - 重复 [重复]
【发布时间】:2019-04-17 17:49:00
【问题描述】:

有什么办法可以多次插入变量而不重复?

例如:

var name = "bla";
Console.WriteLine($"foo {name:repeat:2} bar")

打印

foo blabla bar

我对插入几个换行符特别感兴趣,而不是像这样在插值掩码中重复 {Environment.NewLine} 几次:

$"{Environment.NewLine}{Environment.NewLine}"

【问题讨论】:

标签: c# string interpolation string-interpolation


【解决方案1】:

您可以为字符串类型编写扩展方法,即重复其输入。然后只需在花括号内使用此方法即可。

【讨论】:

    【解决方案2】:
    public static string Repeat(this string s, int times, string separator = "")
    {
        return string.Join(separator, Enumerable.Repeat(s, times));
    }
    

    然后使用:

    Console.WriteLine($"foo {name.Repeat(2)} bar")
    

    【讨论】:

    • 我认为它可能是一些开箱即用的字符串插值选项。但如果不是,您的解决方案看起来像是最简单的选择。谢谢
    【解决方案3】:

    你也可以使用

    var name = "bla";
    Console.WriteLine("foo {0}{0} bar", name);
    // or
    var s = String.Format("foo {0}{0} bar", name);
    

    它会帮助你不重复相同的字符串,只是它的索引。

    更多关于String Format

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-27
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 2018-12-04
      • 2011-03-22
      • 1970-01-01
      相关资源
      最近更新 更多