C# 如何在字符串格式c中添加{#

C# 如何在字符串格式c中添加{#,c#,string,C#,String,可能重复: 我试着像这样格式化字符串, {Enum.Enum1,“Enum1String”} 我试过这个密码 foreach (KeyValuePair<int, string> p in Helper.Dict) { // file.WriteLine(string.Format("{0} | {1}",p.Key,p.Value)); file.WriteLine(string.Format(

可能重复:

我试着像这样格式化字符串, {Enum.Enum1,“Enum1String”} 我试过这个密码

foreach (KeyValuePair<int, string> p in Helper.Dict)
            {
               // file.WriteLine(string.Format("{0} | {1}",p.Key,p.Value));
               file.WriteLine(string.Format("{Enum.{0},\"{1}\"}", p.Value,p.Value));

            }
foreach(Helper.Dict中的KeyValuePair p)
{
//WriteLine(string.Format(“{0}{1}”,p.Key,p.Value));
WriteLine(string.Format(“{Enum.{0},\“{1}\”}”,p.Value,p.Value));
}
但是它不起作用。如何以字符串格式添加{。 我正在考虑使用stringbuilder。

由此:


或者,使用
@
运算符可确保字符串的表示方式与代码中的显示方式完全相同:

foreach (KeyValuePair<int, string> p in Helper.Dict)
{
       // file.WriteLine(string.Format("{0} | {1}",p.Key,p.Value));
       file.WriteLine(@"{" + string.Format("Enum.{0},\"{1}\"", p.Value,p.Value) + @"}");
}
foreach(Helper.Dict中的KeyValuePair p)
{
//WriteLine(string.Format(“{0}{1}”,p.Key,p.Value));
WriteLine(@“{”+string.Format(“Enum.{0},\“{1}\”,p.Value,p.Value)+@”);
}
请看这里的重复文章


在String.Format中使用{{和}},结果是{和}。

操作符不会改变String.Format处理“{”和“}”的方式。将它们移到String.Format之外确实可以避免问题,是的,但实际上并不能解决问题。
foreach (KeyValuePair<int, string> p in Helper.Dict)
{
       // file.WriteLine(string.Format("{0} | {1}",p.Key,p.Value));
       file.WriteLine(@"{" + string.Format("Enum.{0},\"{1}\"", p.Value,p.Value) + @"}");
}
string t = "1, 2, 3";
string v = String.Format(" foo {{{0}}}", t);