奇怪的系统.格式例外
本文关键字:格式 系统 | 更新日期: 2023-09-27 17:50:30
我只是想为我的单元测试建立一个json字符串,出乎意料地,下面的代码返回系统格式异常。错误消息表明它正在尝试解析日期,这对我来说很奇怪。我不是要求解析日期。
class Program
{
static void Main(string[] args)
{
Console.WriteLine(GetJson());
Console.ReadKey();
}
static string GetJson(string dateStr = "", string lta = "5.25")
{
return String.Format("[{'"dateBooking'":'"{0}'",'"lta'":'"{1}'"}]", dateStr, lta);
}
}
它可以很容易地复制,但我要添加异常细节:
"类型为'System '的未处理异常。FormatException'发生在mscorlib.dll
附加信息:输入字符串格式不正确。"
您需要用{{
转义{
,用}}
转义}
,因为String.Format
将搜索像{0:000}
这样的参数,而不是找到没有有效参数格式的{"dateBooking ... }
。这就是为什么FormatException会引发。
return String.Format("[{{'"dateBooking'":'"{0}'",'"lta'":'"{1}'"}}]", dateStr, lta);