做网站优化就是发文章吗,网站建设推广选哪家,个人开发微信小程序,做网站wamp和xamp一.函数重载的基本概念
C# 中的函数重载是指在同一个类中定义多个同名的函数#xff0c;但这些函数的参数类型、参数个数、参数顺序等不同#xff0c;以便适应不同的调用需求#xff0c;增加代码的兼容性。
二.函数重载的作用
2.1定义多个相类似的函数#xff0c;减少函…一.函数重载的基本概念
C# 中的函数重载是指在同一个类中定义多个同名的函数但这些函数的参数类型、参数个数、参数顺序等不同以便适应不同的调用需求增加代码的兼容性。
二.函数重载的作用
2.1定义多个相类似的函数减少函数的数量避免命名空间的相互干扰导致的误解
2.2提升程序的可读性使得代码的逻辑性更直观
三.函数重载的需满足的条件
3.1函数名必须相同 3.2函数的参数类型、参数个数、参数顺序必须不同。
四.实例说明4种
4.1参数数量不同 class Program { static void Main(string[] args) { int result1 Add(1, 2); int result2 Add(1, 2, 3); Console.WriteLine(Result1: result1); // 输出3 Console.WriteLine(Result2: result2); // 输出6 Console.ReadLine(); } public int Add(int num1, int num2) { return num1 num2; } public int Add(int num1, int num2, int num3) { return num1 num2 num3; } } 4.2参数类型不同 using System; class Program { static void Main(string[] args) { int num1 2; float num2 1.5f; string str Hello world!; MyFunction(num1); MyFunction(num2); MyFunction(str); Console.ReadLine(); } public void MyFunction(int num) { Console.WriteLine(输入的是int num); } public void MyFunction(float num) { Console.WriteLine(输入的是float: num); } public void MyFunction(string str) { Console.WriteLine(输入的是 string: str); } } 4.3参数数量相同但是顺序不同 using System; public class Speaker { public void Speak(string message) { Console.WriteLine(我说 message); } public void Speak(string message, string language) { Console.WriteLine(我用 language 说 message); } public void Speak(int times, string message) { Console.WriteLine(我重复 times 次说 message); } public void Speak(string message, int times) { Console.WriteLine(我说 message times 次); } } public class Program { public static void Main(string[] args) { Speaker speaker new Speaker(); speaker.Speak(你好); speaker.Speak(Hello!, English); speaker.Speak(3, 再见); speaker.Speak(Goodbye!, 2); } } 4.4 ref和out修饰的变量也可以当做一种新变量 private void Main() { int a 5; int b 10; int result1 Add(a, b); MessageBox.Show(加总值: result1); // Output: 15 Subtract(ref a, out b); MessageBox.Show((ab).ToString()); //Output: 5 double c 2.5; double d 3.5; double result3 Add(c, d); MessageBox.Show(加总值: result3); // Output: 6.0 } static int Add(int num1, int num2) { return num1 num2; } static double Add(double num1, double num2) { return num1 num2; } private static void Subtract(ref int num1, out int num2) { num2 5; num1 num1-num2; } private void button2_Click(object sender, EventArgs e) { Main(); } 五.总结
函数重载一个方法名称多个应用版本
相同点方法的名称一致
不同点参数的个数参数的类型参数的顺序不能完全一致
注意方法的返回值类型不一致以及static修饰的不能算重载。