如何定义C#方法的重载?
时间: 2024-10-11 19:17:02 浏览: 32
在 C# 中,方法重载(Overload)是指在同一类中定义两个或更多同名的方法,但是它们有不同的参数列表。每个方法的参数类型、顺序或数量的不同就形成了方法的重载。编译器会根据调用时提供的参数类型、数量和顺序自动选择合适的方法执行。以下是定义方法重载的一些规则:
1. **参数数量不同**:只要参数列表的数量不同,即使其他参数完全一样,也可以视为重载。
```csharp
public void Print(int number) { ... }
public void Print(string message) { ... } // 这里就是Print方法的重载版本
```
2. **参数类型不同**:如果参数类型不同,也是重载。即使类型的名称相同但类型不同(例如 int 和 Int32),也视为重载。
```csharp
public void Print(int x) { ... }
public void Print(double y) { ... } // 这里同样是Print方法的重载
```
3. **参数顺序不同**:方法的参数顺序不影响重载判断,只要参数类型匹配即可。
4. **可选参数**:添加了可选参数可以使原本不是重载的方法成为重载。
5. **返回类型不影响**:虽然返回类型可以不同,但这并不构成方法的重载。
```csharp
public int Sum(int a, int b) { ... }
public float Sum(float a, float b) { ... } // 返回类型不同,仍视为重载
```
阅读全文