使用Linq表达式中的键创建TreeNodes

Oti*_*iel 2 c# linq treeview

我正在尝试TreeNode使用键创建一个,但TreeNode没有构造函数来获取键和文本.我发现只有以下解决方案:

TreeNode tn = new TreeNode("text node");
tn.Name = "keyNode";
Run Code Online (Sandbox Code Playgroud)

 

treeView.Nodes.Add("keyNode", "text node");
Run Code Online (Sandbox Code Playgroud)

但是,这些方式不适合我,因为我想新添加TreeNodes到我treeView与LINQ查询.


这是我想要理想的做法:

treeView.Nodes.AddRange(
    myListOfObject.Select(x => new TreeNode(x.somePropertyForKey, 
                                            x.somePropertyForText)).
                   ToArray<TreeNodes>());
Run Code Online (Sandbox Code Playgroud)

难道我坚持使用一个foreach循环来创建TreeNodes或者你看到一个办法做到这一点一个设备- 杂交

rer*_*run 9

这就是新的初始化语法的用途

TreeNode tn = new TreeNode("text node") {Name = "keynode"} ;
Run Code Online (Sandbox Code Playgroud)

  • +1.它实际上称为[对象初始化程序](http://msdn.microsoft.com/en-us/library/bb384062.aspx). (2认同)