我正在尝试在我的字符串中插入变量,但是它给了我语法错误。
',' expected
不知道我在这里缺少什么。以下是我想要做的事情:
int var1 = 10;
string name = "somename";
string mystring = @"{ ""value"" : ""someval"", ""id"" : " + var1 + ", ""name"" : " + name + " }");
预期产出:
{ "value" : "someval", "id" : "10", "name" : "somename"}
答案 0 :(得分:1)
我想这就是你想要的:
int var1 = 10;
string name = "somename";
string mystring = @"{ ""value"" : ""someval"", ""id"" : """+ var1 + @""" , ""name"" : """+ name + @"""}";
Console.WriteLine(mystring);
Console.ReadKey();
输出:
{ "value" : "someval", "id" : "10", "name" : "somename"}
答案 1 :(得分:0)
使用变量构建字符串时,使用格式字符串通常更具可读性:
r.db('reporter').table('reports')
.group('project_name')
.orderBy(r.desc('time_created'))
.limit(1)
在C#6中,使用string interpolation:
可以更简单地表达这一点string mystring = string.Format(
@"{{ ""value"" : ""someval"", ""id"" : ""{0}"", ""name"" : ""{1}"" }}", var1, name);
答案 2 :(得分:0)
你也可以转义双引号:
var finalString = "{ \"value\" : \"someval\", \"id\" : " + var1 + "\"name\" : " + var2 + " }";
或者使用string.Concat
var finalString = string.Concat("\"value\" : \"someval\", \"id\" :", var1, "\"name\" :", var2, "}");