C#中双引号中的String.Format

时间:2013-04-22 15:25:11

标签: c# .net

是否有人可以帮助我string.Format以下线。在' 2056'我需要传递{0}。

string body = @"{""idTimeSerie"":""2056"",""idTso"":-1}";

由于双引号我无法执行。

我已经尝试过这种方式,但没有成功。

string body = string.Format
                    (@"{""idTimeSerie"": "" \"{0}\" "",""idTso"":-1}", countryID);

4 个答案:

答案 0 :(得分:3)

你必须逃避花括号

  

替换{{{

string body = @"{{""idTimeSerie"":""2056"",""idTso"":-1}}";

修改:From MSDN - Another way of Escaping

  

打开和关闭括号被解释为开始和结束a   格式项。因此,您必须使用转义序列来显示   一个字面的开口支撑或关闭支撑。指定两个开口括号   (“{{”)在固定文本中显示一个左括号(“{”)或两个   关闭大括号(“}}”)以显示一个右大括号(“}”)。大括号   格式项按顺序依次解释   遇到。不支持解释嵌套大括号。

int value = 6324;
string output = string.Format("{0}{1:D}{2}", 
                             "{", value, "}");
Console.WriteLine(output);
// The example displays the following output: 
//       {6324}

答案 1 :(得分:2)

试试这个:

string body = string.Format(@"{{ ""idTimeSerie"": ""{0}"", ""idTso"": -1 ", countryID) + "}";

说明:

1) 当使用@ flavor of string literals时,双引号由""表示(两个连续的双引号)。

See MSDN:

@"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.

2) 使用{{}}分别以字符串格式表示文字{}

See MSDN (Escaping Braces):

  

在固定文本中指定两个开括号(" {{")以显示一个左括号(" {")或两个右括号("} }")显示一个右括号("}")。

答案 2 :(得分:2)

你可以这样做:

string body = string.Format("{{\"idTimeSerie\":\"{0}\",\"idTso\":-1}}", countryID);

答案 3 :(得分:0)

在这种情况下,请勿使用逐字字符串。我怀疑你想要:

string body = string.Format("{\"idTimeSerie\":\"{0}\",\"idTso\":-1}", countryID);
相关问题