1
我有樹視圖加載自定義類集合(例如:MyClass)。我想從檢查的樹視圖項返回MyClass []的集合,並且想要使用LINQ。我嘗試下面,它工作正常。但是我想寫1行Linq查詢,甚至沒有使用列表<>。任何幫助?是否有可能在1 Linq查詢中有遞歸?LINQ查詢遍歷樹視圖並獲取數據
List<MyClass> items = new List<MyClass>();
items.AddRange(from node in tvData.Nodes.OfType<TreeNode>().Where((x) => x.Checked)
select node.Tag as MyClass);
tvData.Nodes.OfType<TreeNode>()
.ForEach((x => items.AddRange(from item in x.Nodes.OfType<TreeNode>()
.Where((y) => y.Checked)
select item.Tag as MyClass)));
return items.ToArray();
注:樹視圖有1級的深度。每個父節點都有一組子節點,只有一個級別。
丹尼爾 - 謝謝。我在尋找這樣的東西。但是你可以檢查第一部分語法。除了新的[] {節點}外,一切看起來都很好。這是否有隱含的類型轉換在這裏?它會導致錯誤的編譯時間。再次感謝您的及時回覆。 –
@emmanuuelpascal:你得到了什麼編譯錯誤?這應該工作。 –
@emmanuuelpascal我編輯以避免編譯錯誤。但請檢查它是否仍然正常。 –