码农小白 方法(函数)Ⅲ 参数 C#篇

本文深入讲解C#中的方法重载、命名参数、可选参数及递归等高级特性,通过实例展示如何提升代码灵活性和可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法(函数)Ⅲ <补充>

1、方法重载

一个类中可拥有多个名称相同的方法,这叫方法的重载。使用相同名称的每个方法必须有一个和其他方法不同的签名

  • 签名的组成部分
    • 方法的名称
    • 参数的数目
    • 参数的数据类型和顺序
    • 参数的修饰符

注意: 返回类型和形参的名称不是签名的一部分

class A
{
	int Add(int a, int b);
	int Add(float a, float b);    //重载Add方法   //参数类型不同
	int Add(int a,int b, int c);    //重载Add方法    //参数数目不同
	//float Add(float a, float b);    //错误返回类型不同不算方法的重载
}

2、命名参数

C#允许我们使用命名参数,只要显示指定参数的名字,就可以任意顺序在方法调用中列出实参

class Myclass
{
	static int Calc(int a, int b, int c)
	{
		return (a + b) * c;
	}
}

class Porgram
{
	static void Main()
	{
		int tmp = Myclass.Add(1, 2, 3);    //普通调用函数
		Console.WriteLine(tmp);
		tmp = Myclass.Add(b: 2, c: 3, a: 1);    //使用命名参数调用函数
		Console.WriteLine(tmp);
	}
}

输出结果

9
9

3、可选参数

所谓的可选参数就是我们可以在调用时包含这个参数,也可以忽略它。

class Myclass
{
	static int Calc(int a, int b = 3)    //设置形参b为可选参数,并给它赋上初始值3
	{
		return a + b;
	}
}

class Porgram
{
	static void Main()
	{
		int tmp = Myclass.Add(1);    //省略可选参数
		Console.WriteLine(tmp);
		tmp = Myclass.Add(1, 3);    //包含可选参数
		Console.WriteLine(tmp);
	}
}

输出结果

4
4

可选参数只能是值类型参数

4、递归

方法除了调用其他方法,还可以调用它自身。这叫做递归。

int f(int index)
{
	return f(index - 1);  //调用自身
}

对递归感兴趣的小伙伴可以去看数据结构,这里就不详细介绍了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值