J'ai 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 avoir ajouté une tâche (AddTask.aspx), je redirige vers une autre page pour les afficher, puis j'obtiens l'erreur d'exécution:
Impossible de caster un objet de type 'WhereListIterator1[Task]' to type 'System.Collections.Generic.List
1 [Tâche] '.
Y a-t-il un problème avec mon LINQ? Je viens d'apprendre hier hehe.
Merci.
Vous avez juste besoin d'une .ToList()
directement sur la requête ou lorsque vous la renvoyez. Un péché
var AllTasks = (from t in tasks
where t.Status.ToString() == "Completed" || t.Status.ToString() == "Pending"
select t).ToList();
Ou
return AllTasks.ToList();