值类型和引用类型

值类型(变量直接包含数据) 简单类型
枚举
结构
引用类型(变量包含对存储对象的引用)
接口
委托
数组

这两者类型有什么区别呢?很简单。值类型是直接包含了变量的具体值,引用类型包含的是指针(至少你可以这么理解)
他们的区别看以下的代码就立即明了
1值类型和引用类型 int i1 = 10;
2值类型和引用类型 int i2 = i1;
3值类型和引用类型 System.Console.WriteLine(i1.Equals(i2));//值相等
4值类型和引用类型 System.Console.WriteLine(object.ReferenceEquals(i1,i2));//引用不相等
5值类型和引用类型 object o1 = new object();
6值类型和引用类型 object o2 = o1;
7值类型和引用类型 System.Console.WriteLine(o1.Equals(o2));//值相等
8值类型和引用类型 System.Console.WriteLine(object.ReferenceEquals(o1, o2));//引用相等

要记住哪些不是引用类型更简单了:除了类、接口、委托和数组外,其他都是值类型。



本文转自shyleoking 51CTO博客,原文链接:http://blog.51cto.com/shyleoking/806911

上一篇:ZXing拍摄代码扫描之后以区分一维码、二维码、其他代码


下一篇:【大前端之打通账号系统】passport应该如何落地?