加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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.

但是,还有一个“参考”类型.这只复制了对变量的引用 – 换句话说,它获得了变量的一种句柄,因此当对该变量进行更改时,它们会在两个地方都被反映出来.

值类型包括结构和所有基元 – 整数,双精度,字符等,但字符串除外.参考类型是其他一切.

一些评论者已经提供了很好的链接,所以我不会在这里添加任何内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读