C# 如何区别重载方法
区分重载方法
在 C# 中,重载方法是指具有相同名称但参数类型或数量不同的多个方法。编译器使用以下规则来区别重载方法:
参数类型:重载方法必须具有不同的参数类型。 参数数量:重载方法可以具有不同的参数数量。 参数顺序:重载方法可以具有不同顺序的参数。参数类型
重载方法的第一个区别规则是参数类型。例如,以下代码中的三个方法是重载的,因为它们具有相同的名称但不同的参数类型:
<code class="csharp">void Draw(int x); void Draw(float x); void Draw(string x);</code>
参数数量
第二个区别规则是参数数量。例如,以下代码中的两个方法是重载的,因为它们具有相同的名称但不同的参数数量:
<code class="csharp">void Sum(int a, int b); void Sum(int a, int b, int c);</code>
参数顺序
第三个区别规则是参数顺序。例如,以下代码中的两个方法是重载的,因为它们具有相同的名称但不同的参数顺序:
<code class="csharp">void Swap(int a, int b); void Swap(int b, int a);</code>
其他规则
除了上述规则外,编译器还会考虑以下因素来区分重载方法:
可选参数:具有可选参数的方法与没有可选参数的方法不同。 可变参数:具有可变参数的方法与没有可变参数的方法不同。 ref/out 参数:具有 ref/out 参数的方法与没有 ref/out 参数的方法不同。注意:
返回类型在区分重载方法中不起作用。 重载方法的重载顺序无关紧要。