引用类型和值类型的区分

//struct 这个是值类型
struct Fraction
{
public int numerator;
public int denominator;
}
class Class_02_06
{

public static void main(string []args)

{

Fraction x;
x.numerator=1;
x.denominator=2;
fraction y=x;
Console.WriteLine("x={0}/{1}",x.numerator,x.denominator);
Console.WriteLine("y={0}/{1}",y.numerator,y.denominator);
x.numerator=3;
y.denominator=3;
Console.WriteLine("x={0}/{1}",x.numerator,x.denominator);
Console.WriteLine("y={0}/{1}",y.numerator,y.denominator);
}

}
//运行的结果是 X=1/2 Y=1/2 X=3/2 Y=1/3

//class 是引用类型
class Fraction
{
public int numerator;
public int denominator;
}
class Class_02_08
{
public static void Main(string[] args)
{
Fraction x=new Fraction();
x.numerator=1;
x.denominator=2;
Fraction y=x;
Console.WriteLine("x={0}/{1}",x.numerator,x.denominator);
Console.WriteLine("y={0}/{1}",y.numerator,y.denominator);
x.numerator=3
Console.WriteLine("x={0}/{1}",x.numerator,x.denominator);
Console.WriteLine("y={0}/{1}",y.numerator,y.denominator);
y.denominator=3;
Console.WriteLine("x={0}/{1}",x.numerator,x.denominator);
Console.WriteLine("y={0}/{1}",y.numerator,y.denominator);
}
}

//运行结果是: 1/2 1/2 3/2 3/2 3/3 3/3

[@more@]引用类型的赋值是传递了一个引用给对方,无论是操作X,Y,实际上操作的是同一个东西
而值类型的X,Y不互相影响,他是纯粹的COPY

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7257938/viewspace-834602/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7257938/viewspace-834602/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值