我正在尝试将值装箱到IEnumerable,以使JsonConverter能够遍历动态数据。但是,在尝试装箱DateTime或其他结构的列表时遇到了问题。
var datetime = DateTime.Now ;
var boxed = datetime as object; // Works: boxed is still a DateTime value
var datetimeList = new List<DateTime> { DateTime.Now };
var boxedEnumerable = datetimeList as IEnumerable<object>; // Does not work, boxedEnumerable is null
对IEnumerable进行铸造对于所有引用类型似乎都很有效,但对值类型却无效。
注意:非通用IEnumerable类可用于这些类型的转换,而不是IEnumerable。
答案 0 :(得分:0)
差异仅适用于引用类型;如果您指定值类型 对于变体类型参数,该类型参数对于 生成的构造类型