zoukankan      html  css  js  c++  java
  • C#值传递和按引用传递

    知识点:

           值类型和引用类型

           为值类型,,据

           对于引用类型来说,栈中存储的是堆中对象的地址


           值传递和引用传递

           对于值传递,传递的是栈中保存的数据

           对于引用传递。传递的是栈本身的地址


    先看一下值传递(传递值类型和引用类型)   

    class Program
    {
        static void Main(string[] args)
        {
            //引用类型的赋值。仅仅是赋值了对象在堆中的地址
            Person p = new Person();   //声明的一个Person类,包括有Name属性
            p.Name = "yzk";
            D2(p);
            Console.WriteLine(p.Name);   //返回值为jk
    
            //值类型的赋值,赋值了详细的值,而不是地址
            int n = 10;
            D1(n);
            Console.WriteLine(n);       //返回值为10
            Console.ReadKey();
        }
        //值类型的值传递
        static void D1(int m)
        {
            m = m + 1;
        }
        //引用类型的值传递
        static void D2(Person p1)
        {
            p1.Name = "jk";
        }
    }
    图解:


    再看一下引用传递(传递值类型和引用类型)   

    class Program
        {
            static void Main(string[] args)
            {
                Person p = new Person();   //声明的一个Person类,包括有Name属性
                p.Name = "jk";
                D2(ref p);      //引用传递:传递的是栈本身的地址
                Console.WriteLine(p.Name);   //返回值sk
    
                int n = 10;
                D1(ref n);       //引用传递:传递的是栈本身的地址
                Console.WriteLine(n);   //返回值11
                Console.ReadKey();
            }
            //值类型的引用传递
            static void D1(ref int a)  //ref就是表示引用传递
            {
                a = a + 1;
            }
            //引用类型的引用传递
            static void D2(ref Person per)
            {
                per = new Person();
                per.Name = "sk";
            }
        }
    图解



    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    shell 去除utf8文件中bom头的方法
    bad interpreter:No such file or directory
    桥接配置虚拟机网络
    coreseek因为重启遇到的问题
    监听微信内置浏览器 返回点击事件
    phpredis 扩展装完后,重启php不生效的原因之一
    linux上ThinkPHP中原本正常的css,js文件找不到的解决方式
    vps
    java基础-《JAVA语言程序设计与数据结构》笔记
    面经问题总结——django相关
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4672831.html
Copyright © 2011-2022 走看看