为什么在c#的函数中,传递button类的对象时,我没看到过ref和out前缀的,好像都是在函数上直接这样写
public static void Func(Button button)
,这样的话,button不就是一个新的对象么?为什么改变button对象的属性,会反映到原对象上?

解决方案 »

  1.   

    对象是引用类型,不是值类型。所以改变button对象的属性,会反映到原对象上
      

  2.   

    哦,原来是这样……
    可是我又想起一个问题,大一学c++的时候(用的是《大学c++教程》),比如定义了一个类C1的对象d,在用函数的时候,经常用到&d,这是为什么啊?这里边d是对象吧?那怎么又用到了引用了?
      

  3.   

    Ref和Out提供了一种可以在被调用函数内修改传递的参数的值的方法类似C/C++的指针
    &引用
    (Button button) 传递对象到方法实现调用操作
      

  4.   

    这不用REF OUT 一样的,因为是引用类型的(string 类型除外)
      

  5.   

    哦,c++中传递对象时,前边如果不加&,就会新构造一个对象,那是不是在c#中,传递对象时,就是默认按引用传递?