How to escape braces (curly brackets) in a format string in .NET

后端 未结 10 2353
不思量自难忘°
不思量自难忘° 2020-11-22 02:44

How can brackets be escaped in using string.Format.

For example:

String val = \"1,2,3\"
String.Format(\" foo {{0}}\", val); 

10条回答
  •  [愿得一人]
    2020-11-22 03:34

    [TestMethod]
    public void BraceEscapingTest()
    {
        var result = String.Format("Foo {{0}}", "1,2,3");  //"1,2,3" is not parsed
        Assert.AreEqual("Foo {0}", result);
    
        result = String.Format("Foo {{{0}}}", "1,2,3");
        Assert.AreEqual("Foo {1,2,3}", result);
    
        result = String.Format("Foo {0} {{bar}}", "1,2,3");
        Assert.AreEqual("Foo 1,2,3 {bar}", result);
    
        result = String.Format("{{{0:N}}}", 24); //24 is not parsed, see @Guru Kara answer
        Assert.AreEqual("{N}", result);
    
        result = String.Format("{0}{1:N}{2}", "{", 24, "}");
        Assert.AreEqual("{24.00}", result);
    
        result = String.Format("{{{0}}}", 24.ToString("N"));
        Assert.AreEqual("{24.00}", result);
    }
    

提交回复
热议问题