关键是引用到底是一个什么类型?
object obj = new object();
obj就是对OBJECT类型的对象的一个引用,但他本身是什么类型?

解决方案 »

  1.   

    obj显然是整数值,可以说是值类型,这个数值指向一个地址。个人愚见!
      

  2.   

    c++里,变量有3个类型
    值,指针,引用
    区别就是值变量是表示堆栈上一个对象的,指针是指向任何一个对象的,可以是堆,也可以是堆栈,引用和指针类似,只是不允许指向NULL这个地方。并且引用要一开始就赋值。
    c#里,因为要推出类型安全这个卖点,那就不能要指针这个祸害,动不动访问个空对象,让程序运行时候才会发现很多问题,于是用引用类型,并且是改进的引用类型。初始化一个值后还可以修改引用的对象。
    c#变量就2个类型:
    堆栈上的就是值类型的,还有一种就是引用。想把值类型的放在堆栈,就要先装箱。
      

  3.   

    http://bbs.langsin.com/viewthread.php?tid=1904
      

  4.   

    object在C#中是个根类型,就是说其它类型是在它的基础上产生的。
      

  5.   

    引用是SB类型,专门给SB提问用的。
      

  6.   

    to BlueTrees(蜗牛) 你会你就说 别不想清楚就放×
    to all C#在安全代码里没有指针类型 我是问在C#里 引用是什么类型 不是引用类型是什么类型 好多人理解错了 说明一下  SORRY
      

  7.   

    有点明白楼主的意思了,
    引用是个object类型,毕竟C#是类型统一的,都能统一到object上去,
    再钻牛角尖,可以认为是值类型的
    个人愚见
      

  8.   

    http://community.csdn.net/Expert/topic/5750/5750805.xml?
      

  9.   

    引用根本就不是一个类型,是一个修饰符号,和private,public的功能类似(它们限定变量的访问级别),告诉编译器怎样获得,从那里获得变量的实际值.
      

  10.   

    对象本身也是值类型,而对象引用就是引用类型
    ------------------------------------------------------------
    这句话在C#中是错误的。C#中的值类型有特殊含义,特指在栈中分配的对象(数据)。在C#中没有特别的引用类型,所谓的引用类型并没有对应的关键字,是隐含的,仅仅是概念上的,在语法上你并不能区分值类型和引用类型有什么差别。所谓引用,是指变量引用对象,追究起来,其实是个指针。
    ------------------------------------------------------------
    上面说过了,引用和指针是有差异的,不能把引用看成是单纯的指针,应该把引用看成是指针的应用方式。
      

  11.   

     C# 不支持 & 符 
     好像改成 Ref 了
    用起来 是不爽如果对于类传递 堆栈 开销大
    怎么处理 ?