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

c# 方法参数与重载 18

一、核心本质

refout都是让方法可以修改实参本身(不是拷贝副本),属于引用传递,区别于普通值类型默认的值传递(拷贝一份新数据,方法内修改不影响外面变量)

二、ref 关键字

1. 规则硬性要求

  1. 调用方法前,变量必须提前初始化赋值,不能只声明不赋值;
  2. 方法内部:既可以读取参数原有值,也可以修改参数值
  3. 方法结束后,外部实参的值会被同步修改。

    3. 记忆点

    先赋值,可可读可改

    三、out 关键字

    1. 规则硬性要求

  4. 调用前变量可以只声明、不用初始化赋值
  5. 方法执行结束前,必须强制给 out 参数赋值,否则编译报错;
  6. 方法内一般只用来向外输出结果,不会读取 out 参数传入前的原始值(读也可以,但业务上基本不用);
  7. 多用于一个方法需要返回多个结果的场景。
  8. 调用方法的时候需要显示的在参数前面写ref,out。

一、核心定位

inrefout同属按引用传递参数,但它是只读引用,作用:以引用方式传参,避免值类型大结构体拷贝开销,同时强制方法内不能修改传入的参数,保证数据安全。

三者核心一句话区分

  • ref可进可改,传入有初始值,方法能读能改外部变量
  • out只出不进,传入可无初始值,方法必须赋值才能传出
  • in只进不改,传入必须有初始值,方法只能读取,绝对不能修改

二、硬性语法规则

  1. 调用前实参必须提前初始化赋值,和ref要求一致,不能像 out 一样只声明不赋值;
  2. 方法内部只允许读取该参数,任何赋值、修改操作都会直接编译报错
  3. 本质传递的是变量内存地址,不会对值类型做拷贝,适合体积很大的struct结构体传参,节省内存与性能。

params=parameter array,中文标准叫法:参数数组

二、核心作用

让一个方法最后一个形参可以接收任意多个同类型参数(0 个、1 个、多个、直接传数组都行),简化多参数传参写法,不用手动封装数组再传入。

三、硬性语法铁则(必记,编译强制检查)

  1. 一个方法最多只能有 1 个 params 参数
  2. params 必须是形参列表里最后一个参数,后面不能再跟任何其他参数;
  3. params 只能修饰一维数组,不能是多维数组、List、class 等其他类型。

方法重载:

C# 方法重载(Method Overload)超全知识点

一、什么是方法重载

在同一个类中,方法名完全相同,但是参数列表不一样,编译器可以根据传入实参的数量、类型、顺序自动匹配调用对应方法,就叫方法重载

核心目的:同一个功能逻辑,适配多种传参形式,不用起多个不同方法名,简化调用

二、构成重载的硬性必要条件(缺一不可)

1. 必须满足

  1. 同一个 class 类里面
  2. 方法名称必须一模一样
  3. 参数列表必须有区别(下面任意一种就算参数不同):
    • 参数个数不一样
    • 参数数据类型不一样
    • 参数顺序不一样(不同类型参数调换顺序)

2. ❌ 绝对不能作为重载区分依据(易错考点)

  1. 仅返回值不同,不算重载

csharp

运行

int Test(){return 1;} void Test(){} // 报错!仅返回值区别,编译器无法区分调用哪个,不构成重载
  1. 仅参数名字不一样,不算重载

csharp

运行

void Fun(int a){} void Fun(int b){} // 两个完全一样,参数名只是形参别名,编译报错重复定义
  1. 访问修饰符(public/private/static)单独差异,不能单独构成重载
http://www.jsqmd.com/news/1209926/

相关文章:

  • 加厚餐巾纸哪家靠谱:联盛森宝厚实安心 - MXyuyu
  • 2026 年 Later 替代工具精选:7 款不止步于 Instagram 排期的出海社媒方案 - SocialEcho社媒管理
  • 2026小程序开发哪家好?AI赋能智能生成来了!
  • 亨得利官方钟表服务中心|官方地址及售后服务电话权威信息公告(2026年7月更新) - 亨得利官方
  • 2026济南食材配送公司遴选参考 合规服务商推荐汇总 - 奔跑123
  • 2026表面处理企业选设备 多功能电解测厚优质厂家实用指南 - 奔跑123
  • 2026年济南GEO优化公司推荐筛选标准详细解读 - 奔跑123
  • 西安万国回收价格查询与靠谱平台实测排行(2026年7月最新) - 诚收名表回收平台
  • 湖北地区石材结晶服务商主流名录与实力参考 - 奔跑123
  • 2026年上海中考复读学校推荐人气排行汇总 - 奔跑123
  • 2026小程序制作平台排行榜出炉!高性价比制作工具盘点!
  • 亲身到店探访天津萧邦官方售后服务中心|最新地址及官方售后电话(2026年7月最新) - 萧邦中国官方服务中心
  • 提示词工程进阶:从CO-STAR框架到上下文工程的范式转移
  • 2026年高纯氢气制造厂哪家专业 合规选型实用参考指南 - 热点品牌推荐
  • 天津劳力士回收价格查询与各大平台实测排行(2026年7月最新数据) - 天价名表回收平台
  • 2026 年至今,汉台热门的混流泵抽水泵供货商哪家靠谱,别再买!这款泵如何颠覆你的水循环效率 - 行业推荐官【官方】
  • 鸿蒙 ArkTS 实战:Aquaculture Pond Patrol 从业务记录到移动工作台完整解析
  • 2026潍坊热水器选购 本地优质合规直营店盘点参考 - 奔跑123
  • 武汉宝珀回收价格查询与靠谱回收平台实测排行(2026年7月最新) - 收的高名表回收平台
  • LLM推理框架选型指南:vLLM、SGLang与TensorRT-LLM深度对比
  • 2026年福州素描收费明细梳理 素描几家参考 - 热点品牌推荐
  • 鸿蒙 ArkTS 实战:Store Display Check 从业务记录到移动工作台完整解析
  • 2026精选:北京朝阳区实力装修设计,聚焦极简美学的可靠之选 - 品牌鉴赏官2026
  • 2026年7月最新武汉蔡甸区蔡甸街道亨得利官方名表服务中心电话公示 - 亨得利官方博客
  • 2026上海中考复读学校推荐综合排行情况一览 - 奔跑123
  • 深圳爱彼回收价格查询和各大平台实测排行(2026年7月最新) - 尊奢回收二奢平台
  • 2026年找西宁乙级防火门源头厂家 实用选购全指南 - 热点品牌推荐
  • 2026 年第三批国补政策 7 月最新通知:新一轮国补 625 亿怎么申领?手机电脑苹果国补领取入口更新,学生还有教育补贴可以领取方法一览! - 资讯焦点
  • 罗德与施瓦茨HMP4040四通道高性能可编程线性直流电源
  • 2026年宁波本地食堂承包搭配生鲜粮油配送场景纪实 - 奔跑123