10

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

4 に答える 4

24

Linq to Objects クエリを実行すると、 type が返されます。このメソッドをIEnumerable<Student>使用して、 from からを作成できます。ToList()List<T>IEnumerable<T>

var selected = from s in studentCollection
                           select s;

List<Student> selectedCollection = selected.ToList();
于 2009-10-11T17:52:23.413 に答える
8

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

var selected = from s in studentCollection select s;

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

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

于 2009-10-11T17:54:50.447 に答える
3

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

List<Student> selectedCollection = selected.ToList<Student>();
foreach (Student s in selectedCollection)
{
    s.Show();
}
于 2009-10-11T17:51:24.730 に答える
1

以下を試してください

List<Student> selectedCollection = selected.ToList();
于 2009-10-11T17:52:59.313 に答える