Vb.net 从字符串列表创建树节点和子节点

Vb.net 从字符串列表创建树节点和子节点,vb.net,string,treeview,Vb.net,String,Treeview,我有一个字符串列表,格式如下: apple apple/red apple/green apple/green/lime banana banana/yellow/dotted 其中,每个字符串都是一个节点,/后面的文本是该节点的子节点。 我曾尝试编写代码,将这种格式的列表转换为树节点,但我似乎无法理解这一点。您能提供代码来完成这项工作吗?您使用什么编程语言 编辑: 尝试以下方法: Private Sub Button1_Click(sender As System.Object, e As

我有一个字符串列表,格式如下:

apple
apple/red
apple/green
apple/green/lime
banana
banana/yellow/dotted
其中,每个字符串都是一个节点,/后面的文本是该节点的子节点。
我曾尝试编写代码,将这种格式的列表转换为树节点,但我似乎无法理解这一点。您能提供代码来完成这项工作吗?

您使用什么编程语言

编辑:


尝试以下方法:

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim nodeData As New List(Of String)(New String() { _
        "apple", _
        "apple/red", _
        "apple/green", _
        "apple/green/lime", _
        "banana", _
        "banana/yellow/dotted"})

    Dim TN As TreeNode
    For Each nodePath As String In nodeData
        TN = Nothing
        For Each node As String In nodePath.Split("/"c)
            If IsNothing(TN) Then
                If TreeView1.Nodes.ContainsKey(node) Then
                    TN = TreeView1.Nodes(node)
                Else
                    TN = TreeView1.Nodes.Add(node, node)
                End If
            Else
                If TN.Nodes.ContainsKey(node) Then
                    TN = TN.Nodes(node)
                Else
                    TN = TN.Nodes.Add(node, node)
                End If
            End If
        Next
    Next
End Sub

哎呀,你把选项Strict关闭了。split采用char
nodePath.split(“/”c)
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim nodeData As New List(Of String)(New String() { _
        "apple", _
        "apple/red", _
        "apple/green", _
        "apple/green/lime", _
        "banana", _
        "banana/yellow/dotted"})

    Dim TN As TreeNode
    For Each nodePath As String In nodeData
        TN = Nothing
        For Each node As String In nodePath.Split("/"c)
            If IsNothing(TN) Then
                If TreeView1.Nodes.ContainsKey(node) Then
                    TN = TreeView1.Nodes(node)
                Else
                    TN = TreeView1.Nodes.Add(node, node)
                End If
            Else
                If TN.Nodes.ContainsKey(node) Then
                    TN = TN.Nodes(node)
                Else
                    TN = TN.Nodes.Add(node, node)
                End If
            End If
        Next
    Next
End Sub