web-dev-qa-db-ja.com

C#-varからList <T>への変換

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

Linq to Objectsクエリを実行すると、タイプ_IEnumerable<Student>_が返されます。 ToList() メソッドを使用して、から_List<T>_を作成できます。 _IEnumerable<T>_:

_var selected = from s in studentCollection
                           select s;

List<Student> selectedCollection = selected.ToList();
_
21
CMS

サンプルコードのvarは、実際にはIEnumerable<Student>と入力されています。 列挙するだけの場合は、リストに変換する必要はありません

var selected = from s in studentCollection select s;

foreach (Student s in selected)
{
    s.Show();
}

リストとして必要な場合は、Linqの ToList() メソッドがそれを1つに変換します。

8
adrianbanks

ToListLINQ拡張メソッドを呼び出すことができます

List<Student> selectedCollection = selected.ToList<Student>();
foreach (Student s in selectedCollection)
{
    s.Show();
}
3
Michael G

次を試してください

List<Student> selectedCollection = selected.ToList();
1
JaredPar