List C-var到列表的转换
如何将变量类型强制转换为列表类型 此代码段给了我一个错误:List C-var到列表的转换,list,c#-3.0,var,List,C# 3.0,Var,如何将变量类型强制转换为列表类型 此代码段给了我一个错误: List<Student> studentCollection = Student.Get(); var selected = from s in studentCollection select s; List<Student> selectedCollection = (List<Student>)selected; foreach (St
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();
}
您可以调用ToList LINQ扩展方法
List<Student> selectedCollection = selected.ToList<Student>();
foreach (Student s in selectedCollection)
{
s.Show();
}
执行Linq to Objects查询时,它将返回IEnumerable类型,您可以使用该方法从IEnumerable创建列表: 试试下面的方法
List<Student> selectedCollection = selected.ToList();
示例代码中的var实际上被键入为IEnumerable。如果您所做的只是枚举,则无需将其转换为列表:
如果您确实需要它作为列表,Linq的方法将为您将其转换为列表。这个答案比我自己的解释更好。这应该被接受。@CMS嗨,我的朋友。我在项目的笑脸问题中尝试了这个解决方案。这对我不起作用。你能帮我回答这个问题吗?:var不是一个类型,它只是一个占位符,用于指定给变量的任何表达式的类型。在本例中,查询表达式的计算结果为IEnumerable。
List<Student> selectedCollection = selected.ToList();
var selected = from s in studentCollection select s;
foreach (Student s in selected)
{
s.Show();
}