如何将动态字符串变量用双引号包裹?
解决方案:为动态字符串添加双引号包裹
方法1:直接拼接转义双引号
在每个动态变量的前后拼接转义后的双引号即可。由于代码使用了逐字字符串(@前缀),双引号需要用两个连续的""表示,因此在变量前后分别拼接@""""(代表一个双引号):
var body1 = @"{" + "\n" + @" ""profile"": {" + "\n" + @" ""firstName"": " + @"""" + firstName + @"""" + "," + "\n" + @" ""lastName"": " + @"""" + lastName + @"""" + "," + "\n" + @" ""email"": " + @"""" + email + @"""" + "," + "\n" + @" ""login"": " + @"""" + email + @"""" + "," + "\n" + @" ""mobilePhone"": " + @"""" + mobilePhone + @"""" + "\n" + @" }" + "\n" + @"}";
方法2:使用字符串插值(更简洁)
如果项目基于C# 6及以上版本,推荐用$@组合的逐字插值字符串,直接嵌入变量即可,同时用""表示双引号,代码可读性更高:
var body1 = $@"{{ ""profile"": {{ ""firstName"": ""{firstName}"", ""lastName"": ""{lastName}"", ""email"": ""{email}"", ""login"": ""{email}"", ""mobilePhone"": ""{mobilePhone}"" }} }}";
注:插值字符串中若要输出
{和},需要用{{和}}转义。
内容的提问来源于stack exchange,提问作者sgl
相关产品推荐
相关产品推荐

