programing

단순 LINQ 및 목록 오류:목록 반복자 ''1 위치[Task]'를 입력합니다.컬렉션.포괄적인.'''1[과제]'''

megabox 2023. 8. 7. 22:26
반응형

단순 LINQ 및 목록 오류:목록 반복자 ''1 위치[Task]'를 입력합니다.컬렉션.포괄적인.'''1[과제]'''

내 오류를 이해하는 데 문제가 있습니다.

방법:

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;
}

코드 이면:

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;

}

태스크(AddTask.aspx)를 추가한 후 다른 페이지로 리디렉션하여 태스크를 표시하면 런타임 오류가 표시됩니다.

'WhereListIterator' 유형의 개체를 캐스팅할 수 없습니다.1[Task]' to type 'System.Collections.Generic.List1[과제].

제 LINQ에 문제가 있습니까?저는 어제 막 배웠어요 헤헤.

감사해요.

당신은 단지 필요합니다..ToList()쿼리에서 직접 또는 반환할 때 선택할 수 있습니다.에서 처럼

var AllTasks = (from t in tasks
               where t.Status.ToString() == "Completed" || t.Status.ToString() == "Pending"
               select t).ToList();

또는

return AllTasks.ToList();

언급URL : https://stackoverflow.com/questions/4953748/simple-linq-and-list-error-wherelistiterator1task-to-type-system-collectio

반응형