zoukankan      html  css  js  c++  java
  • 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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Cpython支持的进程与线程
    进程理论基础
    网络编程-之-----粘包现象
    dTree的简单使用
    DWR的简单使用
    strut2+Inteceptor实现简单的登录拦截
    保留两位小数
    冒泡+封装
    springmvc-入门
    添加ssh框架之后出现 class 'org.springframework.orm.hibernate3.LocalSessionFactoryBean' not found解决办法
  • 原文地址:https://www.cnblogs.com/ylbtech/p/3149871.html
Copyright © 2011-2022 走看看