我有一个初始化列表的例程......var items = new List<TodoItem>();//... load items from a REST service ...return items;随后的例程尝试枚举列表......foreach (var i in items){ // ...}如果门户没有返回任何项目,则列表是null,并且尝试枚举它失败......原因已经讨论过。直到现在我!= null在枚举之前做了一个检查。现在我读了一篇 SO 帖子,其中有人建议null在列表没有项目的情况下返回是“不好的做法” 。如何将列表初始化为可以枚举的空列表,而不是让它成为null?我想到的唯一方法是像这样的序列var items = new List<TodoItem>();items = Enumerable.Empty<TodoItem>()这不会编译:无法将类型 System.Collections.Generic.IEnumerable' 隐式转换为 'System.Collections.Generic.List'。存在显式转换(您是否缺少演员表?)。尝试使用显式转换...items = (List<TodoItem>)Enumerable.Empty<TodoItem>();因运行时异常“无效转换”而失败任何人都可以建议我如何正确初始化我的列表吗?
1 回答
当年话下
TA贡献1890条经验 获得超9个赞
var items = new List<TodoItem>();
创建一个空列表。完毕。
如果您正在执行此操作并且结果为null
,则您的代码将其设置为null
并且您尚未显示该代码。也许它与您的“从 REST 服务加载项目”代码有关?
- 1 回答
- 0 关注
- 202 浏览
添加回答
举报
0/150
提交
取消