普通方法(按参数划分)分为五种
1. 值类型参数方法
static void Main(string[] args)
{
Add(1);
}
static void Main(int i)
{
i=100; //内部发生改变于原类型无关
}
2. 引用类型参数方法
static void Main(string[] args)
{
Add(null);
}
static void Main(int []i)
{
i=100; //如果是引用类型内部发生改变外部就会改变,不管这个引用类型传在什么地方都指向一个托管堆内存地址
}
3. ref参数方法
必须的先赋值否则会报错, 方法内部没赋值也可以直接打印 可以进参也可以出参
4. out关键字参数方法
static void Main(string[] args)
{
Int i;
Add(out i);
}
static void Main(out int i)
{
//没付值之前不能用。
i=100; //如果是出参的话,i要带参数出去,所以必须给i赋值
}
out与ref的异同点
说明:ref的应用场景是内部对外部的值进行改变,而out则是内部对外部变量的赋值。out一般用在函数有多个返回值。
名称 |
相同点 |
不同点 |
out 与 ref |
1.参数都是变量,不能是常量 2.方法内必须赋值 3.方法内赋值都能出参
|
1.ref变量必须赋值才能传入 2.ref可以进参 2.ref方法内部没赋值也可以打印,而out不能打印 |
5. params关键字参数方法
params关键字必须是数组类型的
加上params关键字 参数可以更改
一个方法内部只能有一个params关键字,有多个参数params关键字只能放在最后面
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言