c# - 装箱结构列表
问题描述
我正在尝试将值装箱到 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。
解决方案
差异仅适用于引用类型;如果为变体类型参数指定值类型,则该类型参数对于生成的构造类型是不变的
推荐阅读
- angular - 如何在同一台 PC 上设置具有不同 ionic 版本(2.2 和 3.0)的 Ionic Project?
- excel - 防止 Excel 将逗号字符添加到 CSV 文件
- php - PHP get方法奇怪地工作我不知道如何解决
- aerospike - Aerospike 扫描性能
- python-3.x - 无法使用python发送邮件
- android - 系统应用权限问题
- python - 如何将颜色图添加到 matplotlib 动画?
- javascript - 浏览器中的视频元素使音乐应用静音
- swift - 'PKAddressField' 已弃用:首先在 iOS 11.0 中弃用 - 使用 PKContactField 和 -requiredShippingContactFields / -requiredBillingContactFields
- bash - 优化 bash 中包含多个元素的 if 语句?