byval 传递的string类型参数依然可以修改

解决方案 »

  1.   

    byval就是按参数的值传递,再传递过程中,参数不会发生变化;与之对应的是byref,指按参数的地址传值,byref可以省去。
      

  2.   

    按值传递,按值:一种将参数值而不是将地址传递给过程的方式,这就使过程访问到变量的复本。结果,过程不可改变变量的真正值。
    看看msdn呀。
    ByVal 关键字用于下列语句:Call 语句Declare 语句Function 语句Property Get 语句Property Let 语句Property Set 语句Sub 语句
    每条的详细解释就看msdn吧。
      

  3.   

    Byval对于字符串,为了方便API调用,实际传递字符串的 字符开始位置。
    *注:字符串结构:
    4字节(表长度) 数据……
    ↑Byref      ↑Byval
      

  4.   

    Byval -----传值
    Byref------传址你可以查阅MSDN,有详细的资料!
      

  5.   

    ByVal 可选的。表示该参数按值传递。 
    ByRef 可选的。表示该参数按地址传递。ByRef 是 Visual Basic 的缺省选项。 
      

  6.   

    To hohohoho((我是大菜鸟)):
    问题应该解决了吧?!
    是不知道加分吗?!
    那么看:http://www.csdn.net/expert/faq.shtm