首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存在Treenode,但treenode.nodes.ContainsKey("Nodename")等于false

存在Treenode,但treenode.nodes.ContainsKey("Nodename")等于false
EN

Stack Overflow用户
提问于 2018-04-07 19:28:36
回答 1查看 1K关注 0票数 1

这是我的密码:

代码语言:javascript
复制
if (e.Node.Parent == null)
{
    string selectedNodeText = e.Node.Text;
    TreeNode x = e.Node;
    string response = server.Send_Command(Convert.ToInt32(this.Text), @"browse," + selectedNodeText);
    string[] files = response.Split(',');
    foreach (string file in files)
    {
        if (file.Contains(".exe"))
        {
            TreeNode n = new TreeNode();
            n.ImageIndex = 1;
            n.Text = file;
            x.Nodes.Add(n);


        }
        else if (file.Contains(".txt") || file.Contains(".doc") || file.Contains(".rtf"))
        {
            TreeNode n = new TreeNode();
            n.ImageIndex = 4;
            n.Text = file;
            x.Nodes.Add(n);
        }
        else if (!file.Contains("."))
        {
            TreeNode n = new TreeNode();
            n.ImageIndex = 3;
            n.Text = file;
            x.Nodes.Add(n);
        }
        else if (file.Contains(".rar") || file.Contains(".zip"))
        {
            TreeNode n = new TreeNode();
            n.ImageIndex = 5;
            n.Text = file;
           x.Nodes.Add(n);
        }
        else if (file.Contains(".sys"))
        {
            TreeNode n = new TreeNode();
            n.ImageIndex = 6;
            n.Text = file;
            x.Nodes.Add(n);
        }
        else
        {
            TreeNode n = new TreeNode();
            n.ImageIndex = 2;
            n.Text = file;
           x.Nodes.Add(n);
        }
    }

响应是逗号分隔的字符串,包含文件名和目录。

现在,如果我将部分代码更改为:

代码语言:javascript
复制
if (file.Contains(".exe"))
{
    TreeNode n = new TreeNode();
    n.ImageIndex = 1;
    n.Text = file;
    if(treeView1.Nodes.ContainsKey(file))
    {

    }
    else
    {
        x.Nodes.Add(n);
    }
}

它仍然给了我假,并创建了新的节点,即使我看到该节点存在。我检查变量文件,它与现有节点名称相同,但它仍然返回false并创建节点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-07 19:58:36

正如TreeNodeCollection.ContainsKey方法文档中所解释的那样:

确定集合是否包含具有指定键的树节点。 备注 TreeNodeCollection.中的名称属性对应于TreeNode的键。

换句话说,ContainsKey使用给定的Name搜索TreeNode,而不是您认为的Text

IndexOfKeyFind方法也是如此。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49711178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档