首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
值类型和引用类型的区别?写出C#的样例代码。
值类型和引用类型的区别?写出C#的样例代码。
admin
2019-03-29
90
问题
值类型和引用类型的区别?写出C#的样例代码。
选项
答案
值类型的变量直接包含它们的数据,而引用类型的变量存储对它们的数据的引用,后者称为对象。对于引用类型,两个变量可能引用同一个对象,因此对一个变量的操作可能影响另一个变量所引用的对象。对于值类型,每个变量都有它们自己的数据副本(除ref和out参数变量外),因此对一个变量的操作不可能影响另一个变量。所有的值类型均隐式派生自System.ValueType。与引用类型不同,从值类型不可能派生出新的类型。值类型不可能包含null值。 using System; class MyClass { class SomeRef { public int x;} struct SomeVal { public int x; } static void Main(string[] args){ SomeRef r1= new SomeRef(); //分配在托管堆上 SomeVal v1 = new SomeVal(); //分配在堆栈上 r1.x = 5; //在托管堆上修改 v1.x = 5; //在堆栈中修改 SomeRef r2 = r1; //仅拷贝引用 SomeVal v2 = v1; //现在堆栈上分配,然后拷贝值 r1.x = 8; //改变了r1.x r2.x v1.x = 9; //仅改变了v1 Console.WriteLine(r1.x); //8 Console.WriteLine(r2.x); //8 Console.WriteLine(v1.x); //9 Console.WriteLine(v2.x); //5 } }
解析
转载请注明原文地址:https://kaotiyun.com/show/GRmZ777K
0
程序员面试
相关试题推荐
TheUnitedStatesInterstateHighwaySystemisaninfrastructurefeatofunprecedentedproportions.Notonlydoesitjoinallfi
Weakdollarorno,$46,000—thepriceforasingleyearofundergraduateinstructionamidtheredbrickofHarvardYard—is【C1】__
为拨号网络创建快捷方式。
在远程服务器中名为“2.10”的文件夹下建立一个新目录,名为fit。
将"回收站"的最大空间设置为每个驱动器的20%。
对于PPoint中的视图模式,以下说法错误的是()。A.幻灯片浏览视图下不能设置放映方式B.幻灯片视图注重于对幻灯片的文本和对象进行详细操作C.每种视图模式在演示文稿的制作和显示中有不同的作用D.大纲视图便于查看和编排演示文稿的大纲
在Word中把一个已经打开的文件以新的名字存盘,起备份旧文件的作用,应选()命令。A.自动保存B.保存C.另存为D.全部保存
以下属于计算机犯罪的特点是()。
加强网络道德建设,有利于加快信息安全立法的进程。
密码学中,把原始信息变成看似无意义的信息称为()。
随机试题
在考生文件夹下的“sampl.accdb"数据库文件中已建立两个表对象(名为“职工表”和“部门表”)。请按以下要求,顺序完成表的各种操作:将表对象“职工表”中编号为“000019”的员工的照片字段值设置为考生文件夹下的图像文件“000019.bmp”数
书面沟通的优缺点有:
在公路工程监理过程中,承包人应当按照()的规定接受监理。
该公司的破产在程序方面()。该公司破产财产的分配顺序是()。
下列关于贷款审批要素中授信品种的表述,错误的是()。[2014年11月真题]
个人成长史资料的整理包括()。
左边给定的是纸盒的外表面,下列哪一项能由它折叠而成?
下列哪项不是引起血氨升高的因素
死锁产生的原因之一是资源分配不当,另一个原因是()。
【S1】【S6】
最新回复
(
0
)