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 r2 = r1;
答案:2 悬赏:80 手机版
解决时间 2021-02-21 12:01
- 提问者网友:抽煙菂渘情少年
- 2021-02-21 07:56
最佳答案
- 五星知识达人网友:举杯邀酒敬孤独
- 2021-02-21 09:10
C#有值类型和引用类型两种,值类型传递的时候是拷贝传递,不会因为一个值得改变而改变另外一个的值。
其实C语言的时候,就有值传递,指针传递,别名传递,这就是变相的指针传递。
而引用类型是一个指向一个的地址,你这里的C是一个对象,不是值类型,所以当C r2=r1;的时候就r2指向了r1,相当于两个是一个地址,当其中一个的值改变的时候,另外一个也会改变,在这里r2改变了,所以r1也随之改变。
这个就是对对象的引用,希望我的回答对你有帮助哦。
其实C语言的时候,就有值传递,指针传递,别名传递,这就是变相的指针传递。
而引用类型是一个指向一个的地址,你这里的C是一个对象,不是值类型,所以当C r2=r1;的时候就r2指向了r1,相当于两个是一个地址,当其中一个的值改变的时候,另外一个也会改变,在这里r2改变了,所以r1也随之改变。
这个就是对对象的引用,希望我的回答对你有帮助哦。
全部回答
- 1楼网友:一叶十三刺
- 2021-02-21 09:43
a、两个电阻串联,电压表v1测量电阻串联的总电压,电压表v2测量电阻r2两端的电压,根据串联电路电压的规律,电阻r2两端的电压等于电压表v1和v2的示数之差,这样就可以得到两个电阻两端的电压,根据电压的大小就可以比较电阻的大小.
b、两个电阻串联,两个电压表分别测量两个电阻两端的电压,根据电压的大小就可以比较出电阻的大小.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |