永发信息网

C#引用类型的使用 C r2 = r1;

答案:2  悬赏:80  手机版
解决时间 2021-02-21 12:01
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UseReference
{
class Program
{
class C
{
public int Value = 0;
}
static void Main(string[] args)
{
int v1 = 0;
int v2 = v1;
v2 = 927;
C r1 = new C();
C r2 = r1;
r2.Value = 112;
Console.WriteLine("Value:{0},{1}", v1, v2);
Console.WriteLine("Refs:{0},{1}", r1.Value, r2.Value);
Console.ReadLine();
}
}
}
请问一下为什么r1.Value的值是112?
最佳答案
C#有值类型和引用类型两种,值类型传递的时候是拷贝传递,不会因为一个值得改变而改变另外一个的值。
其实C语言的时候,就有值传递,指针传递,别名传递,这就是变相的指针传递。
而引用类型是一个指向一个的地址,你这里的C是一个对象,不是值类型,所以当C r2=r1;的时候就r2指向了r1,相当于两个是一个地址,当其中一个的值改变的时候,另外一个也会改变,在这里r2改变了,所以r1也随之改变。
这个就是对对象的引用,希望我的回答对你有帮助哦。
全部回答
a、两个电阻串联,电压表v1测量电阻串联的总电压,电压表v2测量电阻r2两端的电压,根据串联电路电压的规律,电阻r2两端的电压等于电压表v1和v2的示数之差,这样就可以得到两个电阻两端的电压,根据电压的大小就可以比较电阻的大小. b、两个电阻串联,两个电压表分别测量两个电阻两端的电压,根据电压的大小就可以比较出电阻的大小.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
婴幼儿家里的家具表面可用什么消毒
清朝人那么长辫子,怎么洗头啊? 他们恐怕一生
杨水湾地址有知道的么?有点事想过去
洪成林内科诊所地址在哪,我要去那里办事
夏天野兔什么时候出来活动
今天我在学校问我男朋友有说在你心里我到底算
我有一台松夏微波炉用了二十多年了,还能修吗
下列各组中两种生物间关系不属于共生的是DA.
归仁群众影剧院我想知道这个在什么地方
计入资本公积的项目包括哪些
拨打电话时手机灭屏切无法开起屏幕时咋样
唯依女装在哪里啊,我有事要去这个地方
探索规律 15的平方=225可写成100×1×(1+1
请问这是夏娜哪一部的哪一集?
汪家冲在什么地方啊,我要过去处理事情
推荐资讯
骑垅村在什么地方啊,我要过去处理事情
hyaluronsaurer翻译成中文
我是江苏省13年参加高考,今年再参加高考,小高
酷宝贝在哪里啊,我有事要去这个地方
小型汽车停车场在什么地方啊,我要过去处理事
益诚建设工程咨询公司连云港分公司地址在哪,
想买早餐机看中了威马牌的, 是三明治机好还
The emergency called for drastic measure.
江西师范大学学院代号8001和8021投档线为什么
补益药宜在何时服用A.饭前B.饭后C.睡前D.早、
我下载了个内存50多mb的但我却用了0.2g是我手
纯雾眉用什么方法来做
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?