使用.NET 3.5和C#3.0,
IList list = new List<bool?>();
list.Add(null);
Run Code Online (Sandbox Code Playgroud)
抛出一个ArgumentException,只是感觉不对.
List<bool?> list = new List<bool?>();
list.Add(null);
Run Code Online (Sandbox Code Playgroud)
完美的工作.
这是微软代码中的错误吗?
在现实生活中如何产生这种错误的一个例子:
new JavaScriptSerializer().Deserialize<List<bool?>>("[true, false, null]");
Run Code Online (Sandbox Code Playgroud)