news 2026/10/27 1:00:43

C# 参数传递详解:值传递与引用传递

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C# 参数传递详解:值传递与引用传递

一、C# 中的两种参数传递方式

C# 中常用的参数传递方式有两种:值传递和引用传递。理解两者的区别,是掌握方法调用、避免“改了却没生效”这类问题的关键。

二、什么是值传递

值传递是指:把参数的值复制一份传给方法,方法内部对参数的修改只作用于这份副本,方法调用结束后,外部的原始变量仍然是原来的值。

可以这样理解:值传递好比把文件复制一份,通过网络发给别人,对方可以在自己的计算机上随意修改这份副本,修改会保存在他那边,但你本机上的原文件不会发生任何变化。

三、值传递参数的语法格式

值传递参数(Value Parameter)的声明格式如下:

方法名称(参数类型 参数名称[, 参数类型 参数名称])

不加任何修饰符的参数,默认就是值传递参数。

四、代码示例:交换两个整数

下面通过一个交换两个整数的例子,直观地观察值传递的效果。

using System; class Program { static void Main(string[] args) { int num1 = 4; int num2 = 8; Console.WriteLine("交换之前的字符串顺序为{0}、{1}", num1, num2); Program obj = new Program(); // 创建对象 obj.Change(num1, num2); // 调用交换方法 Console.WriteLine("交换之后的字符串顺序为{0}、{1}", num1, num2); Console.ReadLine(); } // 交换数据的方法 private void Change(int num1, int num2) { int temp; temp = num1; num1 = num2; num2 = temp; } }

五、运行结果与分析

程序运行到方法中的交换语句时,两个值确实发生了交换,但方法执行完毕后,输出结果仍然是原来的4和8。

原因在于:Change方法接收到的是num1和num2的副本,方法内部的交换只影响副本,方法返回后副本被销毁,外部的原始变量从未被修改。这就是值传递的典型表现——方法中改变的值在被调用后没有起作用。

六、小结

  • 值传递传递的是参数的副本,方法内的修改不会影响外部变量。
  • 基本类型(如int、double、bool)默认按值传递。
  • 若希望方法内部修改能反映到外部变量,需要使用ref或out等引用传递方式。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/27 0:48:13

别被“首飞成功”带偏:拆解飞行汽车eVTOL的工程化真相

1. "首飞成功"这四个字,含金量能差出十年几年前我第一次被这类消息"骗"到,是在一个行业群里。有人丢进来一段视频,几十秒,一架造型科幻的机器垂直升起、悬停、平稳落下,配文是"飞行汽车首飞成…

作者头像 李华
网站建设 2026/10/27 0:36:46

深度学习基础:MLP架构与非线性激活函数解析

1. 深度学习的非线性魔法:从感知机到多层神经网络2006年,Geoffrey Hinton在《Science》上发表的那篇开创性论文,正式开启了深度学习的新纪元。而这一切的基础,都源于一个看似简单的结构——多层感知机(MLP)…

作者头像 李华
网站建设 2026/10/27 0:26:01

营销技能不是招数,而是能力网络:四项核心模块实战拆解

真正能把"marketing skills"讲清楚的人,市面上其实不多。大多数时候,大家聊的是"会写文案""会投广告""会剪视频"这类单点技能,好像凑齐了这些,就等于会做营销了。我在这个行业摸爬了十多…

作者头像 李华
网站建设 2026/10/26 23:59:53

基于人脸关键点的疲劳监测:EAR、PERCLOS与工程避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/26 23:59:51

FOC矢量控制实战真经:从焊板到丝滑启动的工程心法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/26 23:57:03

区块链存证保护论文版权:哈希指纹与智能合约全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华