调用一个DLL,string 类型的 ref 为什么取不出值来?int类型ref却可以while (zk.GetAllUserInfo(machine,ref enrollnumber,ref name,ref pass,ref pri,ref en))

解决方案 »

  1.   

    string 类型是引用变量,INT是值变量,是不是跟这个有关系
      

  2.   

    有可能是DLL的参数不支持string类型的.
      

  3.   

    这个要看String是谁创建,也就是内存是谁分配的,如果是调用方创建,用StringBuilder,如果是被调用方创建,则将调用接口改成为out修饰。
      

  4.   

    怎样使用out 修饰? StringBuilder 不能使用,类型不同,无法调用
      

  5.   

    while (zk.GetAllUserInfo(machine,ref enrollnumber,out ref name,ref pass,ref pri,ref en))
      

  6.   

    在调用时,string参数前面加一个out就可以了
      

  7.   

    to:lostowner() 
    out怎么会像你这样使用呢?