知识大全 浅谈“值类型”和“引用类型”
Posted 类型
篇首语:历览千载书,时时见遗烈。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 浅谈“值类型”和“引用类型”相关的知识,希望对你有一定的参考价值。
工作已经有一年有余 做项目的时侯经常碰到值类型和引用类型 当时对这两个概念很难理解 今闲暇之时翻看红皮书 顿有所悟 和大家分享一下
从概念上区分 值类型直接存储其值 引用类型存储对值的饮用 按照存储位置上的不同 值类型存储在堆栈中 引用类型存储在托管堆上
下面用一个简单实例来说明两者的区别
代码
//i j 都是值类型
int i j;
i = ;
j = i;
Console WriteLine( i= + i);
j = ;
Console Write( i= + i);
Console ReadLine();
//结果
//i = ;
//i=
注 值类型的变量直接包含值 将一个值类型变量赋给另外一个值类型变量时 将复制包含的值 所以本实例中两个变量在内存的两个地方存储
代码
Rainless RLA RLB;
RLA = new Rainless();
RLA str = 改变前 ;
RLB = RLA;
Console WriteLine(RLA str);
RLB str = 改变后 ;
Console WriteLine(RLA str);
Console ReadLine();
//输出结果
//改变前
//改变后
注 和上面例子比较 同是把一个变量赋值给另外一个变量 可两者之间的区别就大了 Rainless是一个类 类属于引用类型 引用类型的赋值只复制对象的引用 而不对象本身 所以RLA和 RLB只是保留了一个引用 只是引用了同一个对象 因此对RLB的修改会影响RLA
下面说一下值类型和引用类型的组成部分
值类型主要有两类组成
· 结构
·枚举
结构分为下面几类
·Number(数值)类型
·Bool
·用户自定义的结构
其中数值类型又包括整数 浮点数 decimal
cha138/Article/program/net/201311/13110相关参考
在msdn上 值类型主要由两类组成 结构 枚举 结构分为以下几类 Numeric(数值)类型 整型 浮点型 decimal bool 用户定义的结构 也就是string属于引
浅谈C#中所谓的“值类型” 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在C#中相信大家对于值
使用值类型的ToString方法 在连接字符串时经常使用+号直接将数字添加到字符串中这种方法虽然简单也可以得到正确结果但是由于涉及到不同的数据类型数字需要通过装箱操作转化为引用类型才可以添加到字
PHP与C#的值类型指向区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! PH和C#的值拷贝区
先看一个字符串动态转换的典型例子 如下函数我们只知道value是一个基本值类型比如(SystemIntSystemIntSystemDouble等等)或者是一个字符串类型但我们无法在编码时确定这
首先我们回顾一下代码(这里根据需要做了简化) usingSystem; namespaceStructOperatorDemo cla
浅谈尊重与被尊重道德品质的基础是尊重自己和他人﹔每一个社会人都有其相应的权力与责任,但每种权力和责任的基础都是被理解和尊重。尊重,就是尊重人的尊严,尊重人的基本权力和责任,尊重人的个体和社会价值,尊重
浅谈.NET中加密和解密的实现方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! NET将原来独
浅谈如何指导学生掌握基本的阅读方法和技巧因此,在阅读训练过程中,要指导学生掌握一定的阅读方法和技巧。1、略读法(Skimming)。这是阅读理解最常用的一种快速阅读方法。Skim用英语解释为reads
SQL入门:用户定义类型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 单值类型是与现存类型(它