Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List C-var到列表的转换_List_C# 3.0_Var - Fatal编程技术网

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();
}