• 值类型和引用类型


    值类型:int double char bool decimal struct enum

    引用类型:string array class interface delegate

    值类型的值存储在内存的栈上,引用类型的值存储在堆中,栈上存储数据的效率要高于堆

    不管形参还是实参,在内存中都是开辟了空间的

    值传递:把值类型做为参数传递,把值本身进行传递

      注意:

      ref可以把值传递改变为引用传递

    引用传递:把引用类型的值作为参数传递,传递的是引用

    值类型均隐式派生自System.ValueType

    引用类型派生自System.Object

    class Program
        {
            static void Main(string[] args)
            {
                Person person1 = new Person();
                person1.Name = "张三";
                Test(person1);
                Console.WriteLine(person1.Name);
                Console.ReadKey();
    
            }
            static void Test(Person p)
            {
                p.Name = "李四";
                Person person2 = new Person();
                person2.Name = "王五";
                p = person2;
            }
        }
        class Person
        {
            public string Name { get; set; }
        }

    猜一下结果是什么呢

    没错,答案就是李四。

    这是为什么呢

  • 相关阅读:
    DOS net use
    DOS cscript
    DOS bcp
    DOS ftp
    java 锁机制(synchronized 与 Lock)
    java-过滤器(Filter)
    java collection集合
    java Map集合对比分析
    java反射与注解结合使用(根据传入对象输出查询sql)
    java反射-使用反射来操纵方法
  • 原文地址:https://www.cnblogs.com/xiaonangua/p/7284161.html
Copyright © 2020-2023  润新知