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();
}
Linq to Objectsクエリを実行すると、タイプ_IEnumerable<Student>
_が返されます。 ToList()
メソッドを使用して、から_List<T>
_を作成できます。 _IEnumerable<T>
_:
_var selected = from s in studentCollection
select s;
List<Student> selectedCollection = selected.ToList();
_
サンプルコードのvar
は、実際にはIEnumerable<Student>
と入力されています。 列挙するだけの場合は、リストに変換する必要はありません:
var selected = from s in studentCollection select s;
foreach (Student s in selected)
{
s.Show();
}
リストとして必要な場合は、Linqの ToList() メソッドがそれを1つに変換します。
ToListLINQ拡張メソッドを呼び出すことができます
List<Student> selectedCollection = selected.ToList<Student>();
foreach (Student s in selectedCollection)
{
s.Show();
}
次を試してください
List<Student> selectedCollection = selected.ToList();