转义大括号时无法 string.Format C# 多行逐字字符串
Unable to string.Format a C# multiline verbatim string when escaping curly braces
我在使用带转义花括号的逐字字符串上遇到 String.Format 问题。
它正在提高 FormatError() Exception:Message: System.FormatException : Input string was not in a correct format.
String s = $@"{{ ""ver"": ""1.0"",""userId"": ""{0}""}}";
String.Format(s, "1234")
您正在使用 C# 字符串插值特殊字符“$”,但是,您在模板中使用了位置参数。
应该是:-
String s = @"{{ ""ver"": ""1.0"",""userId"": ""{0}""}}";
String.Format(s, "1234").Dump();
或者只是:-
var userId = 1234;
String s = $@"{{ ""ver"": ""1.0"",""userId"": ""{userId}""}}";
如果您打算生成 JSON 输出,更合适的方法是创建您的对象并使用 Newtonsoft.Json
包序列化它:-
var x = new
{
ver = "1.0",
userId = "1234"
};
var s = JsonConvert.SerializeObject(x);
我在使用带转义花括号的逐字字符串上遇到 String.Format 问题。
它正在提高 FormatError() Exception:Message: System.FormatException : Input string was not in a correct format.
String s = $@"{{ ""ver"": ""1.0"",""userId"": ""{0}""}}";
String.Format(s, "1234")
您正在使用 C# 字符串插值特殊字符“$”,但是,您在模板中使用了位置参数。
应该是:-
String s = @"{{ ""ver"": ""1.0"",""userId"": ""{0}""}}";
String.Format(s, "1234").Dump();
或者只是:-
var userId = 1234;
String s = $@"{{ ""ver"": ""1.0"",""userId"": ""{userId}""}}";
如果您打算生成 JSON 输出,更合适的方法是创建您的对象并使用 Newtonsoft.Json
包序列化它:-
var x = new
{
ver = "1.0",
userId = "1234"
};
var s = JsonConvert.SerializeObject(x);