C#传值参数 -1值类型 -2引用类型

传值参数 -1值类型 -2引用类型

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//传值参数-1、值类型 2、引用类型
namespace PamatetersExample
{
    class Program
    {
        
        static void Main(string[] args)
        {
            Student oldStu = new Student() { Name = "Marry" };
            SomeMethod(oldStu);
            Console.WriteLine("{0},{1}", oldStu.GetHashCode(), oldStu.Name);

        }
        static void SomeMethod(Student stu)
        {
            //引用类型,在原对象上修改
            stu.Name = "Hello";//side-effect 副作用
            Console.WriteLine("{0},{1}", stu.GetHashCode(), stu.Name);
            //引用类型,创建一个新对象
            stu = new Student() { Name = "Tom" };
            
            Console.WriteLine("{0},{1}",stu.GetHashCode(),stu.Name);
        }

       
    }
    class Student
    {
        public string Name { get; set; }
    }
}

结果
46104728,Hello
12289376,Tom
46104728,Hello
请按任意键继续. . .

结论

  • 1、传值类型 中引用类型 是可以改变原对象的值(有副作用 side-effect)
  • 2、理论上传值参数 是不会改变原变量的值 (与原变量无关,只是复制啦一个原变量副本去操作新对象)
    如图所示

相关推荐

  1. C#_类型引用类型参数引用参数

    2024-06-16 01:04:01       49 阅读
  2. C# 类型引用类型

    2024-06-16 01:04:01       31 阅读
  3. c++的参数引用参数

    2024-06-16 01:04:01       34 阅读
  4. C#面:类型引用类型有什么不同

    2024-06-16 01:04:01       41 阅读
  5. C#中的类型引用类型

    2024-06-16 01:04:01       46 阅读
  6. c#基础-引用类型类型的区别

    2024-06-16 01:04:01       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-16 01:04:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-16 01:04:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-16 01:04:01       82 阅读
  4. Python语言-面向对象

    2024-06-16 01:04:01       91 阅读

热门阅读

  1. Spring-AOP总结

    2024-06-16 01:04:01       26 阅读
  2. Docker 镜像****后,如何给Ubuntu手动安装 docker 服务

    2024-06-16 01:04:01       26 阅读
  3. MPLS VPN1

    MPLS VPN1

    2024-06-16 01:04:01      32 阅读
  4. 嵌入式linux中pinctrl子系统驱动用法分析

    2024-06-16 01:04:01       26 阅读
  5. 光流法大全

    2024-06-16 01:04:01       37 阅读
  6. 设计模式之服务定位模式

    2024-06-16 01:04:01       31 阅读
  7. SpringCloud框架的复习(面试)

    2024-06-16 01:04:01       28 阅读