C# - var pour une Liste<T> conversion
Comment cast/convertir une variable de type pour un type de Liste?
Cet extrait de code qui me donne l'erreur:
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();
}
var
n'est pas un type, c'est juste un espace réservé pour le type de l'expression que vous attribuez à la variable. Dans ce cas, l'expression de la requête renvoie à un IEnumerable<Student>
.OriginalL'auteur user366312 | 2009-10-11
Vous devez vous connecter pour publier un commentaire.
Lorsque vous ne l'Linq to Objects requête, il va vous retourner le type
IEnumerable<Student>
, vous pouvez utiliser leToList()
méthode pour créer unList<T>
à partir d'unIEnumerable<T>
:salut mon ami. J'ai essayé cette solution dans mon projet de smilar problème. Il n'a pas de travail pour moi. Pouvez-vous m'aider pour cette question?: stackoverflow.com/questions/32839483/how-can-change-list-type
OriginalL'auteur CMS
La
var
dans votre exemple de code est effectivement tapé commeIEnumerable<Student>
. Si tout ce que vous faites est l'énumération, il n'est pas nécessaire de les convertir en une liste:Si vous n'avez besoin que d'une liste, le ToList() méthode de Linq va le convertir en un pour vous.
OriginalL'auteur adrianbanks
Vous pouvez appeler la ToList extension LINQ Méthode
OriginalL'auteur Michael G
Essayez ce qui suit
OriginalL'auteur JaredPar