我正在为另一个变量分配变量,但它会抛出错误
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#
中的另一个变量中使用变量答案 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\\"