这是vb.net的代码   
//Public Function NodeLevel(ByVal n As TreeNode) As Byte
    //    '* 找出树中当前节点的级数
    //    Dim i As Byte = 1
    //    Do Until n.Parent Is Nothing
    //        n = n.Parent
    //        i += 1
    //    Loop
    //    Return i
    //End Function怎么吧上面的代码翻译成C#的代码呢?
我是这样写的
  public int  NodeLevel(TreeNode n)
        {
            int i = 1;
            while (n.Parent is Nullable )
            {
                n = n.Parent;
                i = i + 1;
            }
            return i;
        }
这个方法的功能是当我点击一个treeview的时候调用这个方法(给她的参数是用户点击的节点)返回用户点击的是那级节点

解决方案 »

  1.   


    public byte NodeLevel(TreeNode n)
    {
        byte i = 1;
        while(n!=null)
        {
            n = n.Parent;
            i+=1;
        }
        return i;
    }vb我也不太熟
      

  2.   


    public int  NodeLevel(TreeNode n)
    {
        int i = 1;
        while (n.Parent != null)//这里错了
        {
            n = n.Parent;
            i = i + 1;
        }
        return i;

    ==============================================
    VB的 
    Do Until (布尔表达式)
    ....
    Loop
    相当于 C#的
    Do 
    {
        ....
    }
    until (布尔表达式)