C#入门学习笔记 #7(传值/引用/输出/数组/具名/可选参数、扩展方法(this参数))
欢迎进入这篇文章,文章内容为学习C#过程中做的笔记,可能有些内容的逻辑衔接不是很连贯,但还是决定分享出来,由衷的希望可以帮助到你。
笔记内容会持续更新~~
本篇介绍各种参数,参数本质上属于方法的一部分,所以本篇算是对方法更深度的学习。本章难度较大...
传值参数
值类型传值参数
声明时不带修饰符的形参是值参数。一个值形参对应于一个局部变量,只是它的初始值来自该方法调用所提供的相应实参。先介绍值类型的传值参数。
方法调用后的参数相当于是变量传进来的一个副本,参数的值,就是变量的初始值,两者互不干扰。如果为方法内的参数进行重新赋值的话,方法体外的原本的变量是不会改变的,下面用具体的例子进行解释。
可以看到在执行AddOne方法后,值传进来的是一个副本值,经过AddOne方法后变成了101,方法体外变量y本身的值没有受到任何影响,还是100。
引用类型传值参数
然后介绍引用类型传值参数。已经介绍过一个概念了,引用类型的变量和实例是分开的,本质上引用类型的变量存储的值是引用类型实例在堆内存中的地址,因此当引用类型变量以传值的形式传入方法的时候,如下图所示,引用类型变量引用了一个实例,当传入方法后,会创建一个副本,由于本质上数据是地址,所以创建的副本也会引用到同一个实例。
当我们对副本进行操作后,会创建一个新的对象,不会对原本的实例对象产生影响,下面用具体的例子进行解释。
相关文章:

C#入门学习笔记 #7(传值/引用/输出/数组/具名/可选参数、扩展方法(this参数))
欢迎进入这篇文章,文章内容为学习C#过程中做的笔记,可能有些内容的逻辑衔接不是很连贯,但还是决定分享出来,由衷的希望可以帮助到你。 笔记内容会持续更新~~ 本篇介绍各种参数,参数本质上属于方法的一部分,所以本篇算是对方法更深度的学习。本章难度较大... 传值参数 …...

【DeepSeek】【Dify】:用 Dify 对话流+标题关键词注入,让 RAG 准确率飞跃
1 构建对话流处理数据 初始准备 文章大纲摘要 数据标注和清洗 代码执行 特别注解 2 对话流测试 准备工作 大纲生成 清洗片段 整合分段 3 构建知识库 构建 召回测试 4 实战应用测试 关键词提取 智能总结 测试 1 构建对话流处理数据 初始准备 构建对话变量 用…...
DELETE 与 TRUNCATE、DROP 的区别
DELETE 与 TRUNCATE、DROP 的区别 1. 基本概念 1.1 DELETE DELETE 是标准的 DML(数据操作语言) 命令,用于从表中删除特定行或所有行数据,但保留表结构。 go专栏:https://duoke360.com/tutorial/path/golang 1.2 TRUNCATE TRUNCATE 是 DDL(数据定义语言) 命令,用于快速…...

yFiles:专业级图可视化终极解决方案
以下是对yFiles的详细介绍,结合其定义、功能、技术特点、应用场景及行业评价等多维度分析: 一、yFiles的定义与核心定位 yFiles是由德国公司yWorks GmbH开发的 动态图与网络可视化软件开发工具包(SDK) ,专注于帮助用户将复杂数据转化为交互式图表。其核心价值在于提供跨平…...

VSCode 工作区配置文件通用模板创建脚本
下面是分别使用 Python 和 Shell(Bash)脚本 自动生成 .vscode 文件夹及其三个核心配置文件(settings.json、tasks.json、launch.json)的完整示例。 你可以选择你熟悉的语言版本来使用,非常适合自动化项目初始化流程。…...

echarts显示/隐藏标签的同时,始终显示饼图中间文字
显示标签的同时,始终显示饼图中间文字 let _data this.chartData.slice(1).map((item) > ({name: item.productName,value: Number(item.stock), })); this.chart.setOption({tooltip: {trigger: item,},graphic: { // 重点在这里(显示饼图中间文字&…...
【Spring AI】调用 DeepSeek 实现问答聊天
文章目录 一、基础概念解析1.Spring AI 框架2.DeepSeek 模型 二、开发环境搭建1.JDK 环境准备2.开发工具选择 三、项目创建与依赖添加1.创建 Spring Boot 项目2.DeepSeek API 四、代码编写实现调用1.创建问答服务类2.创建 Controller 类3.前端调用示例 五、项目运行与调试 在人…...
Java消息队列与安全实战:谢飞机的烧饼摊故事
Java消息队列与安全实战:谢飞机的烧饼摊故事 第一轮:消息队列与缓存 面试官:谢飞机,Kafka和RabbitMQ在电商场景如何选型? 谢飞机:(摸出烧饼)Kafka适合订单日志处理,像…...
parquet :开源的列式存储文件格式
1. Parquet文件定义与核心概念 Parquet是一种开源的列式存储文件格式,由Twitter和Cloudera合作开发,2015年成为Apache顶级项目。其设计目标是为大数据分析提供高效存储和查询,主要特点包括: 列式存储:数据按列而非按行组织,相同数据类型集中存储,显著提升分析查询效率(…...

SpringBoot关于文件上传超出大小限制--设置了全局异常但是没有正常捕获的情况+捕获后没有正常响应返给前端
项目背景 一个档案管理系统,在上传比较大的文件时由于系统设置的文件大小受限导致文件上传不了,这时候设置的异常捕捉未能正常报错导致前端页面一直在转圈,实际上后端早已校验完成。 全局异常类设置的捕捉 添加了ControllerAdvice以及RestCon…...

【Go语言】Ebiten游戏库开发者文档 (v2.8.8)
1. 简介 欢迎来到 Ebiten (现已更名为 Ebitengine) 的世界!Ebiten 是一个使用 Go 语言编写的开源、极其简洁的 2D 游戏库(或称为游戏引擎)。它由 Hajime Hoshi 发起并主要维护,旨在提供一套简单直观的 API,让开发者能…...
Spring Boot应用开发实战
Spring Boot应用开发实战:从零到生产级项目的深度指南 在当今Java生态中,Spring Boot已占据绝对主导地位——据统计,超过75%的新Java项目选择Spring Boot作为开发框架。本文将带您从零开始,深入探索Spring Boot的核心精髓…...

实验设计与分析(第6版,Montgomery著,傅珏生译) 第9章三水平和混合水平析因设计与分式析因设计9.5节思考题9.1 R语言解题
本文是实验设计与分析(第6版,Montgomery著,傅珏生译) 第9章三水平和混合水平析因设计与分式析因设计9.5节思考题9.1 R语言解题。主要涉及方差分析。 YieldDesign <-expand.grid(A gl(3, 1, labels c("-", "0","…...

Pycharm 配置解释器
今天更新了一版pycharm,因为很久没有配置解释器了,发现一直失败。经过来回试了几次终于成功了,记录一下过程。 Step 1 Step 2 这里第二步一定要注意类型要选择python 而不是conda。 虽然我的解释器是conda 里面建立的一个环境。挺有意思的...
learn react course
从零开始构建 React 应用 – React 中文文档 弃用 Create React App 虽然 Create React App 让入门变得简单,但其存在的若干限制 使得构建高性能的生产级应用颇具挑战。理论上,我们可以通过将其逐步发展为 框架 的方式来解决这些问题。 然而ÿ…...
SQL进阶之旅 Day 11:复杂JOIN查询优化
【SQL进阶之旅 Day 11】复杂JOIN查询优化 在数据处理日益复杂的今天,JOIN操作作为SQL中最强大的功能之一,常常成为系统性能瓶颈。今天我们进入"SQL进阶之旅"系列的第11天,将深入探讨复杂JOIN查询的优化策略。通过本文学习…...

web第八次课后作业--分层解耦
一、分层 Controller:控制层。接收前端发送的请求,对请求进行处理,并响应数据。Service:业务逻辑层。处理具体的业务逻辑。Dao:数据访问层(Data Access Object),也称为持久层。负责数据访问操作࿰…...
MySQL 事务深度解析:面试核心知识点与实战
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Java 中 MySQL 事务深度解析:面试…...
使用Redis作为缓存,提高MongoDB的读写速度
在现代Web应用中,随着数据量和访问量的增长,数据库性能常常成为系统瓶颈。MongoDB作为NoSQL数据库,虽然具备高扩展性和灵活性,但在某些读密集型场景下仍可能遇到性能问题。 本文将介绍如何使用Redis作为缓存层来显著提升MongoDB的读写性能,包括架构设计、详细设计、Pytho…...

【图片自动识别改名】识别图片中的文字并批量改名的工具,根据文字对图片批量改名,基于QT和腾讯OCR识别的实现方案
现在的工作单位经常搞一些意义不明的绩效工作,每个月都搞来一万多张图片让我们挨个打开对应图片上的名字进行改名操作以方便公司领导进行检查和搜索调阅,图片上面的内容有数字和文字,数字没有特殊意义不做识别,文字有手写的和手机…...
Kafka消息队列笔记
一、Kafka 核心架构 四大组件 Producer:发布消息到指定 Topic。 Consumer:订阅 Topic 并消费消息(支持消费者组并行)。 Broker:Kafka 服务器节点,存储消息,处理读写请求。 ZooKeeper/KRaft&a…...
机器人变量类型与配置
机器人变量类型与配置 机器人变量类型与配置知识 1. 变量类型 1.1 按创建位置分类 程序变量: 仅适用于当前运行程序程序停止后变量值丢失可在赋值程序节点中直接创建 配置变量: 可用于多个程序变量名和值在机器人安装期间持续存在需预先在配置变量界面…...
nssm配置springboot项目环境,注册为windows服务
NSSM 的官方下载地址是:NSSM - the Non-Sucking Service Manager1 使用powershell输入命令,java项目需要手动配置和依赖nacos .\nssm.exe install cyMinio "D:\minio\启动命令.bat" .\nssm.exe install cyNacos "D:\IdeaProject\capacity\nacos-s…...

20-项目部署(Docker)
在昨天的课程中,我们学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目。大家想一想自己最大的感受是什么? 我相信,除了个别天赋异禀的同学以外,大多数同学都会有相同的…...
Python学习(6) ----- Python2和Python3的区别
Python2 和 Python3 是两个主要版本的 Python 编程语言,它们之间有许多重要的区别。Python3 是对 Python2 的一次重大升级,不完全兼容旧版本。以下是它们的主要区别: 🧵 基本语法差异 1. 打印语法 Python2:print 是一…...

零基础安装 Python 教程:从下载到环境配置一步到位(支持 VSCode 和 PyCharm)与常用操作系统操作指南
零基础安装 Python 教程:从下载到环境配置一步到位(支持 VSCode 和 PyCharm)与常用操作系统操作指南 本文是一篇超详细“Python安装教程”,覆盖Windows、macOS、Linux三大操作系统的Python安装方法与环境配置,包括Pyt…...

SAP学习笔记 - 开发18 - 前端Fiori开发 应用描述符(manifest.json)的用途
上一章讲了 Component配置(组件化)。 本章继续讲Fiori的知识。 目录 1,应用描述符(Descriptor for Applications) 1), manifest.json 2),index.html 3),Component.…...
分类与逻辑回归 - 一个完整的guide
线性回归和逻辑回归其实比你想象的更相似 😃 它们都是所谓的参数模型。让我们先看看什么是参数模型,以及它们与非参数模型的区别。 线性回归 vs 逻辑回归 线性回归:用于回归问题的线性参数模型。逻辑回归:用于分类问题的线性参数模型。参数回归模型: 假设函数形式 模型假…...

一键试衣,6G显存可跑
发现一个好玩的一键换衣的工作流,推荐给大家。 https://github.com/chflame163/ComfyUI_CatVTON_Wrapper 作者参考的是开源项目,做成了工作流形式。 https://github.com/Zheng-Chong/CatVTON 先来看下效果,使用动画人物也可换衣ÿ…...
跟着deepseek浅学分布式事务(2) - 两阶段提交(2PC)
文章目录 一、核心角色二、流程详解三、关键示例四、致命缺点五、改进方案六、适用场景七、伪代码1. 参与者(Participant)2. 协调者(Coordinator)3. 模拟运行(Main Class)4. 关键问题模拟 八、待改进问题总…...