C#=意思是2个不同的东西
发布时间:2020-12-16 00:09:39 所属栏目:百科 来源:网络整理
导读:参见英文答案 What is the difference between a reference type and value type in c#?????????????????????????????????????14个 我怀疑这背后有一些非常根本的东西,我完全没有注意到.我可以写 int b = 5;int a = b;a = 2; 从我能说的最好,这给了我两个独
参见英文答案 >
What is the difference between a reference type and value type in c#?????????????????????????????????????14个
我怀疑这背后有一些非常根本的东西,我完全没有注意到.我可以写 int b = 5; int a = b; a = 2; 从我能说的最好,这给了我两个独立的变量.最初,a设置为5,但是我可以在不改变b的情况下将a更改为2 但是,我可以写 double[] b = { 1,2,3,4}; double[] a = b; a[2] = 9; 现在看来,我没有2个独立的变量,而是对同一个实体有2个引用.现在改变a [2]会改变b [2].这是怎么回事? 解决方法
C#中有两种类型的变量.第一种称为“价值”类型.为其分配值时,该值将复制到该位置,因此在您编写时
int b = a; 您正在将a的值复制为b. 但是,还有一个“参考”类型.这只复制了对变量的引用 – 换句话说,它获得了变量的一种句柄,因此当对该变量进行更改时,它们会在两个地方都被反映出来. 值类型包括结构和所有基元 – 整数,双精度,字符等,但字符串除外.参考类型是其他一切. 一些评论者已经提供了很好的链接,所以我不会在这里添加任何内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容