LINQ Simple et la Liste d'erreur: WhereListIterator`1[Tâche] "pour le" type de Système.Les Collections.Génériques.Liste 1[Tâche]'
Je vais avoir du mal à comprendre mon erreur
Méthode:
public List<Task> GetAllTasks()
{
var AllTasks = from t in tasks
where t.Status.ToString() == "Completed" || t.Status.ToString() == "Pending"
select t;
return (List<Task>)AllTasks;
}
Code Derrière:
protected void Page_Load(object sender, EventArgs e)
{
TaskList tdl = (TaskList)Session["TodoList"];
List<Task> AllTasks = tdl.GetAllTasks();
string str = "";
foreach (Task t in AllTasks)
{
str += t.ToString() + "<br />";
}
LblTasks.Text = str;
}
Après l'ajout d'une tâche (AddTask.aspx) je me rediriger vers une autre page à afficher, puis-je obtenir de l'erreur d'exécution:
Impossible de convertir l'objet de type 'WhereListIterator1[Task]' to type 'System.Collections.Generic.List
1[Tâche]'.
Est-il quelque chose de mal avec mon LINQ? Je viens d'apprendre hier hehe.
Grâce.
Vous devez vous connecter pour publier un commentaire.
Vous avez juste besoin d'un
.ToList()
soit directement sur la requête ou lorsque vous le retourner. Comme dansOu
IEnumerable<T>
, et ils sont paresseusement évalué. La source étant unList<T>
n'est pas pertinent. Si vous voulez en béton collections, ils ont fourni des méthodes pour soutenir que, commeToArray(), ToList(), ToDictionary(),
etc.