私は初心者で、TreeNode と TreeNode[] の違いを表示できません。返されるエラーは次のとおりです。
"Cannot implicitly convert type 'System.Windows.Forms.TreeNode[]' to'System.Windows.Forms.TreeNode'
TreeNode[]
TreeNode
型要素の配列です。Array の詳細については、MSDNを参照してください。
TreeNode
「1 つの TreeNode オブジェクト」を意味します。TreeNode[]
「ツリーノードのコレクション (配列)」を意味します
`TreeNode t = new TreeNode()`
配列は次のようになります。
TreeNode[] ary = new TreeNode[1];
ary[0] = new TreeNode();
//and vice versa
TreeNode t = ary[0];
TreeNode と TreeNode[] は異なります。TreeNode は単一のノードですが、TreeNode[] は TreeNode の配列です。
例えば:
TreeNode(String, TreeNode[])
これは TreeNode のオーバーライドされたコンストラクターです。
public TreeNode(
string text,
TreeNode[] children
)
TreeNode[] を TreeNode に直接キャストすることはできませんが、単一のスルー インデックスを呼び出します。
は、ツリーノードの[]
コレクションである配列であることを示しています...
括弧 [] は配列を表します。あなたのメソッドは TreeNode オブジェクトの配列を返すようですが、単一の TreeNode オブジェクトしか割り当てていません。
それは確かにハビブの言うことです。[] は配列であることを示し、返されるエラーは、TreeNode の配列を単一の TreeNode に配置しようとしたという事実について何かを示しています。これはできません。
このようなことをすると
TreeNode[] nodes = new TreeNode[2]() {new TreeNode(), new TreeNode()}
TreeNode node = nodes[0] //This will put the first TreeNode from nodes in the node
これが役立つことを願っています