c# 中变量多次赋值后值的变化问题

假如我有三个变量inta,b,c;现在我设定a=1;b=a;c=b;正常情况下a,b,c都为1.可是如果,我在后面的语句中改变了a的值,a=2;那么b和c的值也会更改么?... 假如我有三个变量
int a,b,c;
现在我设定
a = 1;
b= a;
c=b;
正常情况下 a,b,c 都为1.
可是如果,我在后面的语句中改变了a的值,
a=2;
那么b和c的值也会更改么?
展开
 我来答
超大蒲公英
2015-01-06 · TA获得超过741个赞
知道小有建树答主
回答量:758
采纳率:75%
帮助的人:742万
展开全部
不会变,b和c的值还是1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
放羊的小星星
2015-01-06 · TA获得超过4066个赞
知道大有可为答主
回答量:2187
采纳率:60%
帮助的人:1560万
展开全部
不会。int类型不是引用类型的。
追问
那如果
object a,b,c;
a = new object(){Name = "1"};
b =a;
c=b;
a.Name = "2";
这个时候 b.name = ??
追答
类是引用类型,new object在堆里边开辟了存储空间,b,a,c在栈里,而b,a,c指向堆里边的同一存储空间,改变一个其他即可改变,类似数组也是引用类型。数组进行操作时无需返回。而值类型却不可以。

int a=10;
int b=20
swap(a,b)
void swap(int a,int b)
{
int temp=a;

a=b;

b=a;

}

a,b的值是不会交换的。但对于数组,数组是引用类型,改变值后无需返回原值已改变。
int[]nums=new nums[]{6,5,4,3,2,1};

sort(nums);
void sort(int[] nums)
{
//执行任何改变nums的操作

}

此时可以输出nums看看,值已经改变。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式