如题.

解决方案 »

  1.   

    如果参数是值类型的,那就要造ref和out来实现引用传递了,
    如果参数是引用类型的,那直接用就可以了。
      

  2.   

    首先说一点,所有的变量都存活在栈(stack)上。
        按值传递是将变量在栈里存在的值作一个拷贝,因为按值传递只能是值类型变量,它的值就存在栈上,你对那个临时拷贝所做的修改,只影响那个临时拷贝里的值,不会影响到原来的变量。
        按引用传递是将变量在栈里存在的值作一个拷贝,不过这里分好几种情况,首先说一般的应用型变量,它的值存在堆上(heap)上,栈上的变量里存放的是它在堆上的内存地址,而这时把变量在栈里存在的值作一个拷贝,也就是说又有一个临时的变量里也存放了它在堆上的内存地址,即又有一个指针指向它,这时对那个临时变量所做的修改将直接修改原来它在堆上值。
        再说传递,按值传递,它里面存什么就传递什么,不需要再寻址;按引用传递,只传递一个四个字节的内存地址,然后再根据这个内存地址去寻址。
        当传递的变量很小时,优先考虑按值传递( 当变量为值类型时);当传递的变量很大时,最佳的方案是把那些变量作成引用类型,再去传递。
         (注:这里讨论的是一般情况,也就是说传递的时候前面 没有加 ref 或 out。如果大家还想了解关于 ref 和 out 的知识,我也很愿意与大家探讨,如果我有什么说错的地方还请大家指出。)