首页/新闻资讯/正文详情

c# 方法参数与重载 18

发布时间:2026/9/23 20:17:28 来源:云帆数科 栏目:资讯中心
c# 方法参数与重载 18
一、核心本质ref和out都是让方法可以修改实参本身不是拷贝副本属于引用传递区别于普通值类型默认的值传递拷贝一份新数据方法内修改不影响外面变量。二、ref 关键字1. 规则硬性要求调用方法前变量必须提前初始化赋值不能只声明不赋值方法内部既可以读取参数原有值也可以修改参数值方法结束后外部实参的值会被同步修改。3. 记忆点先赋值可可读可改。三、out 关键字1. 规则硬性要求调用前变量可以只声明、不用初始化赋值方法执行结束前必须强制给 out 参数赋值否则编译报错方法内一般只用来向外输出结果不会读取 out 参数传入前的原始值读也可以但业务上基本不用多用于一个方法需要返回多个结果的场景。调用方法的时候需要显示的在参数前面写refout。一、核心定位in和ref、out同属按引用传递参数但它是只读引用作用以引用方式传参避免值类型大结构体拷贝开销同时强制方法内不能修改传入的参数保证数据安全。三者核心一句话区分ref可进可改传入有初始值方法能读能改外部变量out只出不进传入可无初始值方法必须赋值才能传出in只进不改传入必须有初始值方法只能读取绝对不能修改二、硬性语法规则调用前实参必须提前初始化赋值和ref要求一致不能像 out 一样只声明不赋值方法内部只允许读取该参数任何赋值、修改操作都会直接编译报错本质传递的是变量内存地址不会对值类型做拷贝适合体积很大的struct结构体传参节省内存与性能。paramsparameter array中文标准叫法参数数组。二、核心作用让一个方法最后一个形参可以接收任意多个同类型参数0 个、1 个、多个、直接传数组都行简化多参数传参写法不用手动封装数组再传入。三、硬性语法铁则必记编译强制检查一个方法最多只能有 1 个 params 参数params 必须是形参列表里最后一个参数后面不能再跟任何其他参数params 只能修饰一维数组不能是多维数组、List、class 等其他类型。方法重载:C# 方法重载Method Overload超全知识点一、什么是方法重载在同一个类中方法名完全相同但是参数列表不一样编译器可以根据传入实参的数量、类型、顺序自动匹配调用对应方法就叫方法重载。核心目的同一个功能逻辑适配多种传参形式不用起多个不同方法名简化调用。二、构成重载的硬性必要条件缺一不可1. 必须满足同一个 class 类里面方法名称必须一模一样参数列表必须有区别下面任意一种就算参数不同参数个数不一样参数数据类型不一样参数顺序不一样不同类型参数调换顺序2. ❌ 绝对不能作为重载区分依据易错考点仅返回值不同不算重载csharp运行int Test(){return 1;} void Test(){} // 报错仅返回值区别编译器无法区分调用哪个不构成重载仅参数名字不一样不算重载csharp运行void Fun(int a){} void Fun(int b){} // 两个完全一样参数名只是形参别名编译报错重复定义访问修饰符public/private/static单独差异不能单独构成重载

相关推荐

2026科技驱动型亚洲EMBA性价比榜单:民企老板避坑择校测评
2026科技驱动型亚洲EMBA性价比榜单:民企老板避坑择校测评

【客观中立测评声明】本文基于2026年公开院校官方数据,从学费成本、课程落地、圈层纯度、长期赋能四大维度客观打分,无夸大宣传、无院校抹黑,仅针对民企创始人、科创企业实控人适配度做理性分析,规避择校营销误区。 不少民企老板… · 2026/9/16 17:01:01

2026小程序制作平台排行榜出炉!高性价比制作工具盘点!
2026小程序制作平台排行榜出炉!高性价比制作工具盘点!

2026小程序制作平台排行榜出炉!高性价比制作工具盘点!行业数据显示,2026年国内小程序制作市场规模有望突破9800亿元,同比增长47.6%,超过80%的中小企业明确表示将在2026年投入专项资金用于小程序开发。小程序早已不是“… · 2026/9/14 22:56:35

2026小程序开发哪家好?AI赋能智能生成来了!
2026小程序开发哪家好?AI赋能智能生成来了!

2026小程序开发哪家好?AI赋能智能生成来了!行业数据显示在2025年的时候国内小程序开发市场规模就已突破800亿元,年均增长率达23%,小程序交易规模达3.6万亿元,同比增长27%。超过80%的中小企业明确表示将在2026年投入专项… · 2026/9/20 3:38:48

C# 全托管驱动 Oracle.ManagedDataAccess 连接 Oracle 实战与避坑
C# 全托管驱动 Oracle.ManagedDataAccess 连接 Oracle 实战与避坑

简介:这是一份面向C#开发者的Oracle数据库连接与操作实战教程资源,重点讲解使用Oracle.ManagedDataAccess驱动快速接入Oracle的完整方案。只需填写数据库IP、用户名和密码等基础信息即可建立连接,适合刚接触Oracle的.NET程序员以及需要统一数… · 2026/9/23 20:17:25

SAP FICO自动付款配置与F110执行全流程:从FBZP到底表存储
SAP FICO自动付款配置与F110执行全流程:从FBZP到底表存储

简介:本资源面向SAP FICO顾问、财务信息化实施人员及需要掌握自动付款功能的运维学习者,围绕F110自动付款的配置、测试与底表存储展开,帮助解决银行主数据维护、收付程序设置及付款建议生成等实操问题。压缩包内共1个docx文档,约1… · 2026/9/23 20:17:17

Stylus 插值(Interpolation)完全指南:从属性名到选择器的动态构建
Stylus 插值(Interpolation)完全指南:从属性名到选择器的动态构建

Stylus 插值(Interpolation)完全指南:从属性名到选择器的动态构建 【免费下载链接】stylus Expressive, robust, feature-rich CSS language built for nodejs 项目地址: https://gitcode.com/gh_mirrors/st/stylus 插值(I… · 2026/9/23 20:17:11

LSTM股价预测实战:从数据预处理到交易信号落地
LSTM股价预测实战:从数据预处理到交易信号落地

简介:本资源是一套面向深度学习初学者与金融量化实践者的LSTM股价预测可执行代码包,聚焦时间序列建模核心能力训练,解决传统RNN在长期依赖任务中梯度消失导致预测失效的痛点。压缩包共153个文件,含89个Python脚本(涵盖… · 2026/9/23 20:17:11

低代码避坑指南:3个致命错误导致性能优化失效
低代码避坑指南:3个致命错误导致性能优化失效

低代码避坑指南:3个致命错误导致性能优化失效 刚把同事发来的低代码平台部署包拷进生产环境,点了一下“运行”,界面直接白屏,控制台报错 TypeError: Cannot read properties of undefined… · 2026/9/23 20:17:04

苹果操作系统底层原理深度解析与开发完整示例
苹果操作系统底层原理深度解析与开发完整示例

苹果操作系统底层原理深度解析与开发完整示例 面试被问苹果操作系统原理答不上来?别慌,很多人卡在底层机制上。今天拆解核心逻辑,附完整示例,帮你彻底搞懂。 一句话原理:混合内核与分层架构… · 2026/9/23 20:16:58

3招搞定手机怎么下载微信面试难题实战项目解析
3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧
Win7无线热点配置工具源码解析:解决API失效的3个实战技巧

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧 Win7无线热点配置工具在Win10/11上跑不动?不是你的问题,是版本升级后 API 全变了。很多老项目里的 netsh wlan… · 2026/9/23 0:00:36

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码