当前位置: 首页 > article >正文

C#入门学习笔记 #7(传值/引用/输出/数组/具名/可选参数、扩展方法(this参数))

欢迎进入这篇文章,文章内容为学习C#过程中做的笔记,可能有些内容的逻辑衔接不是很连贯,但还是决定分享出来,由衷的希望可以帮助到你。

笔记内容会持续更新~~

本篇介绍各种参数,参数本质上属于方法的一部分,所以本篇算是对方法更深度的学习。本章难度较大...

传值参数

值类型传值参数

声明时不带修饰符的形参是值参数。一个值形参对应于一个局部变量,只是它的初始值来自该方法调用所提供的相应实参。先介绍值类型的传值参数。

方法调用后的参数相当于是变量传进来的一个副本,参数的值,就是变量的初始值,两者互不干扰。如果为方法内的参数进行重新赋值的话,方法体外的原本的变量是不会改变的,下面用具体的例子进行解释。

可以看到在执行AddOne方法后,值传进来的是一个副本值,经过AddOne方法后变成了101,方法体外变量y本身的值没有受到任何影响,还是100。

引用类型传值参数

然后介绍引用类型传值参数。已经介绍过一个概念了,引用类型的变量和实例是分开的,本质上引用类型的变量存储的值是引用类型实例在堆内存中的地址,因此当引用类型变量以传值的形式传入方法的时候,如下图所示,引用类型变量引用了一个实例,当传入方法后,会创建一个副本,由于本质上数据是地址,所以创建的副本也会引用到同一个实例。

当我们对副本进行操作后,会创建一个新的对象,不会对原本的实例对象产生影响,下面用具体的例子进行解释。

http://www.lryc.cn/news/2401027.html

相关文章:

  • 【DeepSeek】【Dify】:用 Dify 对话流+标题关键词注入,让 RAG 准确率飞跃
  • DELETE 与 TRUNCATE、DROP 的区别
  • yFiles:专业级图可视化终极解决方案
  • VSCode 工作区配置文件通用模板创建脚本
  • echarts显示/隐藏标签的同时,始终显示饼图中间文字
  • 【Spring AI】调用 DeepSeek 实现问答聊天
  • Java消息队列与安全实战:谢飞机的烧饼摊故事
  • parquet :开源的列式存储文件格式
  • SpringBoot关于文件上传超出大小限制--设置了全局异常但是没有正常捕获的情况+捕获后没有正常响应返给前端
  • 【Go语言】Ebiten游戏库开发者文档 (v2.8.8)
  • Spring Boot应用开发实战
  • 实验设计与分析(第6版,Montgomery著,傅珏生译) 第9章三水平和混合水平析因设计与分式析因设计9.5节思考题9.1 R语言解题
  • Pycharm 配置解释器
  • learn react course
  • SQL进阶之旅 Day 11:复杂JOIN查询优化
  • web第八次课后作业--分层解耦
  • MySQL 事务深度解析:面试核心知识点与实战
  • 使用Redis作为缓存,提高MongoDB的读写速度
  • 【图片自动识别改名】识别图片中的文字并批量改名的工具,根据文字对图片批量改名,基于QT和腾讯OCR识别的实现方案
  • Kafka消息队列笔记
  • 机器人变量类型与配置
  • nssm配置springboot项目环境,注册为windows服务
  • 20-项目部署(Docker)
  • Python学习(6) ----- Python2和Python3的区别
  • 零基础安装 Python 教程:从下载到环境配置一步到位(支持 VSCode 和 PyCharm)与常用操作系统操作指南
  • SAP学习笔记 - 开发18 - 前端Fiori开发 应用描述符(manifest.json)的用途
  • 分类与逻辑回归 - 一个完整的guide
  • 一键试衣,6G显存可跑
  • 跟着deepseek浅学分布式事务(2) - 两阶段提交(2PC)
  • 【仿生机器人软件架构】通过整合认知系统实现自主精神性——认知系统非常具有可执行性