在c#中分配变量失败

时间:2016-05-12 12:47:40

标签: c# string variables

我正在为另一个变量分配变量,但它会抛出错误

string conf = "[32882914,32877390,32877377,32882917,32882922,32882926,32877379,32882887,32882891,32877382,32882897,32882902,32882907,32882909]"

int sku = 34444
string param1 = "{\"SameDayDeliveryStoreNumber\":0,\"styleSkus\":[{\"StyleId\":{0},\"SkuIds\":{1}}],\"RefreshSameDayDeliveryStore\":true}",sku,conf;

错误:

unexpected value string 
varibale is already defined sku,conf

如何在c#

中的另一个变量中使用变量

2 个答案:

答案 0 :(得分:3)

您错过了语法的关键部分,需要string.Format。您的代码应该改为

string param1 = String.Format("{{\"SameDayDeliveryStoreNumber\":0,\"styleSkus\":[{{\"StyleId\":{0},\"SkuIds\":{1}}}],\"RefreshSameDayDeliveryStore\":true}}",sku,conf);

您可以使用其他方法来执行此操作,例如您可以使用+

string param1 = "{\"SameDayDeliveryStoreNumber\":0,\"styleSkus\":[{\"StyleId\":" + sku + ",\"SkuIds\":" + conf + "}],\"RefreshSameDayDeliveryStore\":true}";

或者你可以使用更相似的插值

string param1 = $"{{\"SameDayDeliveryStoreNumber\":0,\"styleSkus\":[{{\"StyleId\":{sku},\"SkuIds\":{conf}}}],\"RefreshSameDayDeliveryStore\":true}}";

请注意,在第一个和第三个示例中,第二个参数末尾有三个卷曲括号而不是两个,这是因为两个会转义为文字"}"字符,而不是语法}后跟文字"}",必须使用三个

答案 1 :(得分:0)

要添加Alfie所说的内容,反斜杠(\)也应该在C#中使用双反斜杠进行转义。

"{{\\"SameDayDeliveryStoreNumber\\"