关键是引用到底是一个什么类型?
object obj = new object();
obj就是对OBJECT类型的对象的一个引用,但他本身是什么类型?
object obj = new object();
obj就是对OBJECT类型的对象的一个引用,但他本身是什么类型?
解决方案 »
- highcharts制作图表 出现中文乱码 怎样把下载地址转换到自己的服务器上面 新人求解
- 多线程端口扫描(求指点优化)
- 如何设计xml的表结构
- c#用jmail组件接收邮件问题
- 请问一个解决办法,数据传输
- 请教前台如何访问后台函数?
- Treeview结构中的checkbox
- 有谁知道C#中和VB.net中chr等效的方法?
- 关于RATIONAL XDE
- 哭了!万分着急!:要将url里的单个文件下到本地,如何编程得到url所包含的单个文件的文件名称?
- datagridview的CellValidating验证数据有效性时errortext为什么不显示
- 怎么用代码实现Gridview单击任一行触发另一个事件
值,指针,引用
区别就是值变量是表示堆栈上一个对象的,指针是指向任何一个对象的,可以是堆,也可以是堆栈,引用和指针类似,只是不允许指向NULL这个地方。并且引用要一开始就赋值。
c#里,因为要推出类型安全这个卖点,那就不能要指针这个祸害,动不动访问个空对象,让程序运行时候才会发现很多问题,于是用引用类型,并且是改进的引用类型。初始化一个值后还可以修改引用的对象。
c#变量就2个类型:
堆栈上的就是值类型的,还有一种就是引用。想把值类型的放在堆栈,就要先装箱。
to all C#在安全代码里没有指针类型 我是问在C#里 引用是什么类型 不是引用类型是什么类型 好多人理解错了 说明一下 SORRY
引用是个object类型,毕竟C#是类型统一的,都能统一到object上去,
再钻牛角尖,可以认为是值类型的
个人愚见
------------------------------------------------------------
这句话在C#中是错误的。C#中的值类型有特殊含义,特指在栈中分配的对象(数据)。在C#中没有特别的引用类型,所谓的引用类型并没有对应的关键字,是隐含的,仅仅是概念上的,在语法上你并不能区分值类型和引用类型有什么差别。所谓引用,是指变量引用对象,追究起来,其实是个指针。
------------------------------------------------------------
上面说过了,引用和指针是有差异的,不能把引用看成是单纯的指针,应该把引用看成是指针的应用方式。
好像改成 Ref 了
用起来 是不爽如果对于类传递 堆栈 开销大
怎么处理 ?