C# 中的重载是什么?
csharpprogrammingserver side programming更新于 2025/10/15 5:07:17
C# 提供了两种实现静态多态性的技术 −
- 函数重载
- 运算符重载
函数重载
在 C# 中,两个或两个以上具有相同名称但不同参数的方法称为函数重载。
C# 中的函数重载可以通过更改参数的数量和参数的数据类型来实现。
假设你有一个打印数字乘法的函数,那么我们的重载方法将具有相同的名称但不同数量的参数 −
public static int mulDisplay(int one, int two) { }
public static int mulDisplay(int one, int two, int three) { }
public static int mulDisplay(int one, int two, int three, int four) { }
以下示例展示了如何实现函数重载 −
示例
using System;
public class Demo {
public static int mulDisplay(int one, int two) {
return one * two;
}
public static int mulDisplay(int one, int two, int three) {
return one * two * three;
}
public static int mulDisplay(int one, int two, int three, int four) {
return one * two * three * four;
}
}
public class Program {
public static void Main() {
Console.WriteLine("Multiplication of two numbers: "+Demo.mulDisplay(10, 15));
Console.WriteLine("Multiplication of three numbers: "+Demo.mulDisplay(8, 13, 20));
Console.WriteLine("Multiplication of four numbers: "+Demo.mulDisplay(3, 7, 10, 7));
}
}
输出
Multiplication of two numbers: 150 Multiplication of three numbers: 2080 Multiplication of four numbers: 1470
运算符重载
重载运算符是具有特殊名称的函数,关键字为operator,后跟所定义运算符的符号。
以下显示了哪些运算符可以重载,哪些不能重载 −
| Sr.No | 运算符 &说明 |
|---|---|
| 1 | +、-、!、~、++、-- 这些一元运算符接受一个操作数,并且可以重载。 |
| 2 | +、-、*、/、% 这些二元运算符接受一个操作数,并且可以重载。 |
| 3 | ==、!=、<、>、<=、>= 比较运算符可以重载。 |
| 4 | &&、|| 条件逻辑运算符不能重载直接。 |
| 5 | +=、-=、*=、/=、%= 赋值运算符不能被重载。 |
| 6 | =、.、?:、-<、new、is、sizeof、typeof 这些运算符不能被重载 |

