Ken*_* Ma 35 linq asp.net code-behind
我无法理解我的错误
方法:
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;
}
Run Code Online (Sandbox Code Playgroud)
代码背后:
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;
}
Run Code Online (Sandbox Code Playgroud)
添加任务(AddTask.aspx)后,我重定向到另一个页面以显示它们,然后我得到运行时错误:
无法转换'WhereListIterator 1[Task]' to type 'System.Collections.Generic.List1 [Task]' 类型的对象.
我的LINQ有问题吗?我刚学会了嘿嘿.
谢谢.
Ant*_*ram 66
您只需要.ToList()直接在查询上或返回时.如在
var AllTasks = (from t in tasks
where t.Status.ToString() == "Completed" || t.Status.ToString() == "Pending"
select t).ToList();
Run Code Online (Sandbox Code Playgroud)
要么
return AllTasks.ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26398 次 |
| 最近记录: |