如何将var类型转换/转换为List类型?
此代码段给出了错误:
List<Student> studentCollection = Student.Get();
var selected = from s in studentCollection
select s;
List<Student> selectedCollection = (List<Student>)selected;
foreach (Student s in selectedCollection)
{
s.Show();
}
答案 0 :(得分:20)
当您执行Linq to Objects查询时,它会返回IEnumerable<Student>
类型,您可以使用ToList()
方法从List<T>
创建IEnumerable<T>
:
var selected = from s in studentCollection
select s;
List<Student> selectedCollection = selected.ToList();
答案 1 :(得分:8)
示例代码中的var
实际上是IEnumerable<Student>
。 如果您要做的就是枚举它,则无需将其转换为列表:
var selected = from s in studentCollection select s;
foreach (Student s in selected)
{
s.Show();
}
如果确实需要它作为列表,Linq的ToList()方法会将其转换为一个。
答案 2 :(得分:3)
您可以调用ToList LINQ扩展方法
List<Student> selectedCollection = selected.ToList<Student>();
foreach (Student s in selectedCollection)
{
s.Show();
}
答案 3 :(得分:1)
尝试以下
List<Student> selectedCollection = selected.ToList();