str不是你传进去的吗,你不是初始化为 空字符串码

解决方案 »

  1.   

    DeptIds要传出的话,加ref:private void GetPartantIds(string userDeptId, ref string DeptIds)
      

  2.   


    str 传进去了,出来的时候str 经过 GetPartantIds()这个方法,不是应该发生变化了吗
      

  3.   


    str 传进去了,出来的时候str 经过 GetPartantIds()这个方法,不是应该发生变化了吗
    你的写法只传入,不带出来的, 加ref后才可以把string的值传出来
      

  4.   

    如果你这个str只是需要它的值,而不是想通过函数修改它的值同时保留之前的某些特性,
    完全可以不用ref而用out
    另外,如果你的函数没有其他要传出的数据
    那么返回类型不要定义为void而定义为string,这样你的函数就只需要传入1个参数就行啦
      

  5.   


    str 传进去了,出来的时候str 经过 GetPartantIds()这个方法,不是应该发生变化了吗
    你的写法只传入,不带出来的, 加ref后才可以把string的值传出来为什么加了也 带不出来值,出来的时候是空值。。
      

  6.   

    加了REF,OUT也 带不出来值,换成返回string值,只用一个参数,出来的时候也还是空值。。
      

  7.   

    你return啊亲
    全局变量也行
      

  8.   


    return 不行,我试过了,不知道为什么这么奇怪,一出递归 值就空了
      

  9.   

    你把那个函数弄成有返回值的,private string GetPartantIds(string userDeptId, string DeptIds)这样试试,里面把最终得出的str值return出来,用string str2=GetPartantIds(userDeptId,str)把值接一下看
      

  10.   

    return 不行,我试过了,不知道为什么这么奇怪,一出递归 值就空了
    断点跟一下,看到底什么时候空的
    不可能是出了递归才空的.