在字符串中追加变量

时间:2016-06-25 06:38:22

标签: c# .net string uwp

我正在尝试在我的字符串中插入变量,但是它给了我语法错误。

  ',' expected

不知道我在这里缺少什么。以下是我想要做的事情:

  int var1 = 10;
  string name = "somename";

  string mystring = @"{ ""value"" : ""someval"", ""id"" : " + var1 + ", ""name"" : " + name + " }");

预期产出:

{ "value" : "someval", "id" : "10", "name" : "somename"}

3 个答案:

答案 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, "}");