代码如下:
private TreeNode GetAllNode(TreeNodeCollection tnc)
        {
            foreach (TreeNode tn in tnc)
            {
                if (tn.Nodes.Count != 0)
                {
                    GetAllNode(tn.Nodes);
                }
                if (tn.Text == this.toolStripTextBox1.Text)
                {
                    return tn;
                }
            }
        }错误 1 “GPSSearch.blacklist.GetAllNode(System.Windows.Forms.TreeNodeCollection)”: 并非所有的代码路径都返回值 D:\GPSSearch\GPSSearch\blacklist.cs 311 25 GPSSearch

解决方案 »

  1.   

    if   (tn.Nodes.Count   !=   0)
                                    {
                                            GetAllNode(tn.Nodes);
                                    }
                                    if   (tn.Text   ==   this.toolStripTextBox1.Text)
                                    {
                                            return   tn;
                                    } 
    如果两个IF都不成立,就没有返回值了, 所以报错
      

  2.   


    private   TreeNode   GetAllNode(TreeNodeCollection   tnc) 
                    { 
                            foreach   (TreeNode   tn   in   tnc) 
                            { 
                                    if   (tn.Nodes.Count   !=   0) 
                                    { 
                                            GetAllNode(tn.Nodes); 
                                    } 
                                    else if   (tn.Text   ==   this.toolStripTextBox1.Text) 
                                    { 
                                            return   tn; 
                                    } 
                            } 
                    } 
      

  3.   

    就是说你的代码不一定会返回值
    你只要在最后一行加上"return null;"即可