C# 如何在string.Format()中转义双花括号

C# 如何在string.Format()中转义双花括号,c#,string,escaping,C#,String,Escaping,我已经看到了如何在C#string.Format()中转义{或}字符 但我需要做的是格式化一个字符串,如下所示: {{tag}} string.Format("{{{0}}}", "tag"); 但是,当我试图像这样避开双花括号时: {{tag}} string.Format("{{{0}}}", "tag"); 或者这个: string.Format("{{{{{0}}}}}", "tag"); 输出总是这样的: {tag} 我发现工作的另一种方式是: StringBuilder

我已经看到了如何在C#
string.Format()中转义
{
}
字符

但我需要做的是格式化一个字符串,如下所示:

{{tag}}
string.Format("{{{0}}}", "tag");
但是,当我试图像这样避开双花括号时:

{{tag}}
string.Format("{{{0}}}", "tag");
或者这个:

string.Format("{{{{{0}}}}}", "tag");
输出总是这样的:

{tag}
我发现工作的另一种方式是:

StringBuilder output = new StringBuilder();

output.Append("{{");
output.Append("tag");
output.Append("}}");
但是,仅仅为了格式化一个字符串就必须拥有所有这些似乎很愚蠢


我是否遗漏了一些明显的内容?

为了做到这一点,表达式两边都需要5个大括号

Console.WriteLine("{{{{{0}}}}}", "tag");
故障是

  • 2对于第一个
    {
  • 第二个
    {
  • {0}

    • 您可以这样使用代码

      string.Format("{0}{1}{2}", "{{","tag","}}");
      

      您的第二个变体每边使用5个大括号对我很有用!
      string.Format(“{{{{{{{0}}}”,“tag”);
      ==>
      {{tag}
      您的第二个示例
      string.Format({{{0}}”,“tag”)
      工作得很好。对我来说也很好。似乎我第一次就纠正了,我不清楚我的问题是什么。重建解决方案似乎有帮助。谢谢大家