gpt4 book ai didi

c# - 从 Ilist<> 到 List<> 的 Linq 查询转换

转载 作者:太空宇宙 更新时间:2023-11-03 19:49:53 26 4
gpt4 key购买 nike

我收到 IList<>数据并像这样存储它们:

 IList<Student> StudentList = DataKilde.Studenter();

现在我想将它们读入 List<Student> :

List<Student> studentWhere3 = StudentList.Where(x=> x.StudentId > 2 && x.StudentId < 8).ToList(); 

这是有效的...因为我认为 .ToList将其转换为 Ilist<>List<>

我的问题是,当我这样做时:

List<Student> studentWhere5 = from s in StudentList
where s.StudentId==2
select s

我收到一个转换错误并尝试了这些:

from s in (List<Student>)StudentList

from s in StudentList as List<Student>

但它不起作用..我不明白为什么?

最佳答案

那是因为select s返回 IQueryable<Student> ,它不能隐式或显式转换为 List<Student> , 因为两者之间没有继承关系。

您需要将查询结果具体化到列表中:

(from s in StudentList
where s.StudentId==2
select s).ToList();

这将从源集合 ( s ) 中获取所有元素并将它们存储在 List<Student> 中, 它实现了 IList<Student> .

关于c# - 从 Ilist<> 到 List<> 的 Linq 查询转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40787700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com