使用Linq表达式中的键创建TreeNode
本文关键字:创建 TreeNode Linq 表达式 使用 | 更新日期: 2023-09-27 18:11:52
我正试图创建一个带有键的TreeNode
,但TreeNode没有接受键和文本的构造函数。我只找到了以下解决方案:
TreeNode tn = new TreeNode("text node");
tn.Name = "keyNode";
treeView.Nodes.Add("keyNode", "text node");
但是这些方法不适合我,因为我正试图用Linq查询将新的TreeNodes
添加到我的treeView
中。
以下是我最理想的做法:
treeView.Nodes.AddRange(
myListOfObject.Select(x => new TreeNode(x.somePropertyForKey,
x.somePropertyForText)).
ToArray<TreeNodes>());
我是被困在使用foreach
循环来创建TreeNodes
,还是你看到了一种方法来实现这一点——ish?
这就是的新初始化语法
TreeNode tn = new TreeNode("text node") {Name = "keynode"} ;
treeView.Nodes.AddRange(myListOfObject.Select(new TreeNode
{
Name = "keyNode",
TreeNode = new TreeNode[]{new TreeNode{Name="text node"}}}
});
应该是这样的。(请检查大括号和语法(
您可能希望使用此构造函数TreeNode(String, TreeNode[])
顺便说一句,如果这不起作用,并且你没有访问数据库,你可以只做以下操作:
treeView.Nodes.AddRange(myListOfObject.Select(new TreeNode
(
"keyNode",
new TreeNode[]{new TreeNode{Name="text node"}}}
);