27
System.Collections.Generic.List`1 [Görev]' yazın'Basit LINQ ve Liste hatası: WhereListIterator`1 [Görev] 'Ben sorun anlama benim hata yaşıyorum
Yöntem:
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;
}
arkasında
Kodu:
: Ben onları görüntülemek için başka bir sayfaya yönlendirme (AddTask.aspx) bir görev ekledikten sonraprotected 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;
}
, o zaman ben çalışma zamanı hatası alıyorum
'WhereListIterator 1[Task]' to type 'System.Collections.Generic.List
1 [Görev]' türünde nesne dönüştürülemiyor.
LINQ'umda bir sorun var mı? Dün alemi yeni öğrendim.
Teşekkürler.
teşekkürler sürü! Bu işe yarıyor. ToList() öğesinin noktasını görüyorum, ancak nasıl oluyor da tipik kadro çalışmıyor? –
@Ken, LINQ sorgulama yöntemleri, IEnumerable 'yi uygulayan herhangi bir diziye karşı çalışmak üzere tasarlanmıştır ve tembel olarak değerlendirilir. Bir "Liste " kaynağı olan kaynak alakalı değil. Eğer somut koleksiyonlar istiyorsanız, 'ToArray(), ToList(), ToDictionary(), 'vb. Gibi destekleme yöntemleri sağladılar. –
Böyle basit bir çözüm, teşekkürler! –