在WPF應用程序,我使用LINQ查詢來的ObservableCollection獲得價值和更新一些對象的狀態:的foreach循環遍歷的ObservableCollection
var shava = from clc in _ShAvaQuCollection where clc.xyID == "x02y02" select clc;
switch (shava.First().Status)
{
case 1:
x02y02.Status = MyCustControl.Status.First;
break;
case 2:
x02y02.Status = MyCustControl.Status.Second;
break;
...
}
事實上,xyID
是唯一的字段在此的ObservableCollection和它的字符串值對應於XAML中的對象名稱(這些對象來自客戶控制MyCustControl
)。
我所試圖做的是:
(1)通過所有的_ShAvaQuCollection
記錄,並使用xyID
場,參考每個特定對象進行迭代,使用shava
如查詢到每個結果記錄:
MyCustControl sc = (MyCustControl)this.FindName(shava.First().xyID);
(2)和更新的對象的狀態,使用從該記錄的其它值,例如:
switch (shava.First().Status)
{
case 1:
sc.Status = MyCustControl.Status.First;
break;
case 2:
sc.Status = MyCustControl.Status.Second;
break;
...
}
個
所有這些行動除了工作得很好,但我不能把它結合到工作迭代法,這樣的事情(這只是一個想法,因爲我沒能拿到compyleable代碼):
public void ReadingCollection(System.Collections.Generic.IEnumerable<ShowAvaQu> coll)
{
foreach (var xyid in coll)
{
//do my actions (1) and (2)
}
}
請幫助我在foreach循環中的最後一段代碼中組織這樣的迭代。我在理解如何對循環內的每個集合記錄進行查詢時遇到問題。
我描述了以上所有內容,只是爲了清楚我在這個循環內部打算如何處理這些查詢的結果。
你會得到哪個錯誤? –
對不起,也許我不是很配合我的問題。其實這個代碼編譯OK。我在循環中查詢每條特定記錄時遇到問題。謝謝,我現在要糾正我的問題。 – rem