从数据库中,我得到的结果为System.Collections.Generic.IEnumerable<CustomObject>
。将结果放入List<CustomObject>
可以完美地工作。现在,我只想获取前n个对象。这是我尝试过的:
List<CustomObject> tempList = DataBase.GetAllEntries().Cast<CustomObject>().ToList();
tempList = tempList.Take(5);
在第二行,我得到
Error CS0266 Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<CustomObject>' to 'System.Collections.Generic.List<CustomObject>'. An explicit conversion exists (are you missing a cast?)
我还尝试添加
OrderBy()
,仅使用ToList()
(无强制转换)或其组合,但是每次遇到上述错误时,我都会尝试添加。我应该改变什么? 最佳答案
将Take
放在实现(ToList
)之前:
List<CustomObject> tempList = DataBase.GetAllEntries()
.Take(5)
.Cast<CustomObject>()
.ToList();
让物化是最后的操作。