C#中的值类型(value type)与引用类型(reference type)的区别

ylbtech- .NET-Basic:C#中的值类型与引用类型的区别

  C#中的值类型(value type)与引用类型(reference type)的区别

1.A,相关概念返回顶部
 
   C#中有两种数据类型:值类型(value type)和引用类型(reference type)。
 
  值类型的变量直接包含它们的数据,而引用类型的变量存储对它们的数据引用,后者称为对象。对于引用类型,两个变量可以引用同一对象,因此对一个变量操作可能影响另一个变量所引用的对象。对于值类型,每个变量都有它们自己的数据副本(除 ref 和 out 参数变量外),因此对一个变量操作不可能影响另一个变量。
 
1.B,测试源代码返回顶部
using System;

namespace ConsoleApplication1
{
    class RefClass
    {
        public int Value = 0;
    }
    /// <summary>
    /// ylb:C#中的值类型与引用类型的区别
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            int val1 = 0;
            int val2 = val1;
            val2 = 123;
            RefClass ref1 = new RefClass();
            RefClass ref2 = ref1;
            ref2.Value = 123;   //主要只修改了对象 ref2 中的值
            Console.WriteLine("Values:{0},{1}",val1,val2);
            Console.WriteLine("Refs:{0},{1}", ref1.Value, ref2.Value);
        }
    }
}

//ExecutionResult

Values:0,123
Refs:123,123
请按任意键继续. . .
1.C,资源下载返回顶部
 无
warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted on 2013-06-22 16:32  ylbtech  阅读(3808)  评论(0编辑  收藏  举报