是否有人可以帮助我string.Format
以下线。在' 2056'我需要传递{0}。
string body = @"{""idTimeSerie"":""2056"",""idTso"":-1}";
由于双引号我无法执行。
我已经尝试过这种方式,但没有成功。
string body = string.Format
(@"{""idTimeSerie"": "" \"{0}\" "",""idTso"":-1}", countryID);
答案 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时,双引号由""
表示(两个连续的双引号)。
@"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.
2)
使用{{
和}}
分别以字符串格式表示文字{
和}
。
在固定文本中指定两个开括号(" {{")以显示一个左括号(" {")或两个右括号("} }")显示一个右括号("}")。
答案 2 :(得分:2)
你可以这样做:
string body = string.Format("{{\"idTimeSerie\":\"{0}\",\"idTso\":-1}}", countryID);
答案 3 :(得分:0)
在这种情况下,请勿使用逐字字符串。我怀疑你想要:
string body = string.Format("{\"idTimeSerie\":\"{0}\",\"idTso\":-1}", countryID);