参数是方法的一部分。
- 传值参数:参数的默认传递方式。
- 输出参数:用于除返回值外还需输出的场景。
- 引用参数:用于需要修改实际参数值的场景。
- 数组参数:用于简化方法的调用。
- 具名参数:提高可读性。
- 可选参数:参数拥有默认值。
- 扩展方法(this参数):为目标数据类型“追加”方法。
1、传值参数:值类型
作用域为当前方法:初始值为该方法调用时所赋给他的实参。

2、传值参数:引用类型,并且新创建对象

引用类型的变量:存储的值是一个地址。指向在堆内存中的数据。即:引用类型的变量的值存储的是引用类型实例在堆内存中的地址。
引用类型的变量和实例是分开的。引用类型的变量会引用着引用类型的实例。
3、引用参数:值类型
使用ref修饰符声明的形参。
- 传值参数会为传入方法内实际参数创建一个副本。
- 引用参数不会为传入的参数创建副本。引用参数会直接指向所传入的实际参数所指向的内存地址。
引用参数并不创建新的存储位置,相反引用参数表示的存储位置恰是在方法调用中作为实参给出的那个变量所表示的存储位置。因此:变量在可以作为引用形参传递之前,必须先明确赋值。

引用参数是故意改变传入的实参的值。利用方法的副作用SideEffect改变实际参数的值。
static void Main(string[] args)
{
int y = 1;
IWantSideEffect(ref y);
Console.WriteLine(y); // 101
}
static void IWantSideEffect(ref int x)
{
x = x + 100;
}
4、引用类型:引用类型,创建新对象

class Program
{
static void Main(string[] args)
{

本文详细介绍了C#中不同类型的参数,包括传值参数、引用参数(ref)、输出参数(out)、数组参数、具名参数、可选参数以及扩展方法(this参数)。通过示例展示了它们在不同场景下的使用,如如何修改实际参数值、返回多个值、简化方法调用等。此外,还提到了参数的可读性和副作用(SideEffect)概念。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



