C#参数区别

补充:C# 方法必背核心概念 + 必记知识点

一、基础概念(必背)
  1. 方法是什么

方法 = 一段可重复使用的代码块,用来实现一个独立功能

使用流程:先定义 → 后调用,不调用永远不执行

2. 实参 & 形参(必考)

形参:定义方法时,括号里的变量(占位符)

实参:调用方法时,传进去的真实值 / 变量

规则:形参类型、个数、顺序 = 实参必须完全一致

3. 静态方法 static

带 static:属于类,调用:类名.方法名() / 同类直接写方法名

不带 static:属于对象,必须 new 对象 再调用:对象.方法名()

4. 返回值

void:无返回值,只能在方法内输出,不能用变量接收

有返回值:把 void 换成对应类型(int/string/自定义类),必须写 return

return 作用:返回结果 + 直接跳出方法,后面代码不再执行

二、参数 4 种核心类型(必背)

1. 默认参数

格式:类型 形参名 = 默认值

规则:只能放在所有普通参数最后

调用:不传用默认值,传了就用传入的值

2. 值传递(默认传递方式,必考)

值类型(int、double、bool 等)

传递:拷贝一份值

结果:方法内修改形参 → 外部实参不变

引用类型(class、自定义对象)

传递:拷贝内存地址

① 改对象。属性 → 外部跟着变

② 给形参 new 新对象 → 外部不变

3. ref 引用传递

作用:形参与实参是同一个变量,共用一块内存

规则:定义、调用都要写 ref,实参必须提前赋值

结果:不管改属性还是 new 对象,外部一定跟着变

4. out 输出参数

作用:一个方法返回多个结果

规则:定义、调用都写 out,方法内部必须给 out 参数赋值,调用时实参可以不初始化

5. ref vs out 必背区别(高频考点)

ref:实参必须先赋值;out:实参可不用赋值

ref:方法内可不用赋值;out:方法内必须赋值

ref:侧重传入 + 传出;out:侧重只传出结果

6. in 只读参数

作用:参数只能读取,不能修改

规则:值类型:完全不能改

对象类型:可以改属性,不能 new 新对象

7. params 可变参数

格式:params 类型\[\] 数组名

作用:接收任意个数同类型参数

铁则:必须是数组,只能放在所有参数的最后一个调用直接传值,不用手动 new 数组

三、方法定义语法(默写版,必背)

复制代码
csharp运行修饰符 static 返回值类型 方法名(参数列表)
{
    方法体;
    return 值; // 无返回值void不用写
}
修饰符:public(公共,最常用)
方法名:大驼峰命名(首字母大写)

四、你代码里必背易错点(避坑专用)

  • 返回对象的方法,必须 new 对象,否则空引用报错
  • 多参数调用:顺序、类型、个数一个都不能错
  • 默认参数放前面 → 直接报错
  • params 放中间 → 直接报错
  • 静态方法不能直接调用非静态方法
  • 值传递对象:改属性变,new 不变;ref 全变

五、一句话速记口诀(考前直接背)

  • 方法:先定义,后调用
  • 实参真,形参假,类型顺序不能差
  • void 无返回,return 出结果
  • 值传递:值拷贝,对象改属性
  • ref 同变量,out 多返回
  • in 只读不改,params 放最后
相关推荐
m0_5873830014 小时前
智慧场馆解决方案实战指南:从系统架构到落地部署全解析
java·spring boot·架构·系统架构
ZC跨境爬虫14 小时前
LeetCode 13. 罗马数字转整数(多解法详解 + Java Python 实现)
java·python·leetcode
省长15 小时前
Sa-Token v1.46.0 发布 🚀,来看看有没有令你心动的功能!
java·后端·开源
.道阻且长.15 小时前
10.LeetCode算法习题讲解--滑动窗口--最大连续为一的个数
算法·leetcode·职场和发展
LayZhangStrive15 小时前
融360 一面
java·面试·后端开发
学习中.........15 小时前
Karpathy nanoGPT 教程到底讲了什么
人工智能·算法·语言模型
城管不管15 小时前
重生——第十次面试之开源中国一面挂
java·linux·开发语言·算法·面试·职场和发展·开源
Java小白笔记15 小时前
Windows系统免软件命令激活
java·网络·人工智能·windows·ai·ai编程
爱敲键盘的猴子16 小时前
深入理解 Java HashMap
java·hashmap
霸道流氓气质16 小时前
Java开发者AI编程常用MCP、Skills、Rules全景汇总
java·开发语言·ai编程