我有一个初始化列表的例程......
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>();
因运行时异常“无效转换”而失败
任何人都可以建议我如何正确初始化我的列表吗?
当年话下
相关分类