C# Treeview.Nodes.Cast不工作 TreeNode tnKey= 树状过滤器 .节点 .Cast() .Where(r=>r.Text==FilterName) .ToArray()[0];

C# Treeview.Nodes.Cast不工作 TreeNode tnKey= 树状过滤器 .节点 .Cast() .Where(r=>r.Text==FilterName) .ToArray()[0];,c#,treeview,C#,Treeview,上述代码不起作用。它报告了一个错误 TreeNode tnKey = treeViewFilters .Nodes .Cast<TreeNode>() .Where(r => r.Text == FilterName) .ToArray()[0]; 错误1实例参数:无法从“System.Windows.Forms.TreeNodeCollection”转换为“System.Data.EnumerableRowCollection” 错

上述代码不起作用。它报告了一个错误

TreeNode tnKey = 
    treeViewFilters
    .Nodes
    .Cast<TreeNode>()
    .Where(r => r.Text == FilterName)
    .ToArray()[0];
错误1实例参数:无法从“System.Windows.Forms.TreeNodeCollection”转换为“System.Data.EnumerableRowCollection”
错误2“System.Windows.Forms.TreeNodeCollection”不包含“Cast”和最佳扩展方法重载的定义“System.Data.EnumerableRowCollectionExtensions.Cast(System.Data.EnumerableRowCollection)”具有一些无效参数

我从任何想法中获取了代码?

对不起,我的错误,我忘了添加'system.linq'名称空间

对不起,我的错误,我忘了添加'system.linq'名称空间

这在linqpad中对我来说很好(用
新的TreeView()
替换
树视图过滤器
)和
ToArray()[0]/code>用
第一个默认()
。这在linqpad中对我很有效(将
TreeView过滤器
替换为
new TreeView()
)和
ToArray()[0]
替换为
FirstOrDefault()
。将您的此答案标记为答案。将您的此答案标记为答案。
Error   1   Instance argument: cannot convert from 'System.Windows.Forms.TreeNodeCollection' to 'System.Data.EnumerableRowCollection'   

Error   2   'System.Windows.Forms.TreeNodeCollection' does not contain a definition for 'Cast' and the best extension method overload 'System.Data.EnumerableRowCollectionExtensions.Cast<TResult>(System.Data.EnumerableRowCollection)' has some invalid arguments