在C#中,方法重载允许您使用相同的名称定义多个方法,但这些方法应该具有不同的参数列表。参数列表的不同可以是参数的个数不同,或者即使参数个数相同,它们的类型也不同(例如,一个是int,另一个是string)。编译器根据调用方法时传递的参数类型和数量来确定要调用哪个方法。
下面是一个C#方法重载的示例:
public class OverloadExample
{
// 第一个重载方法,接受一个整数参数
public void DoSomething(int number)
{
Console.WriteLine("Called with integer: " + number);
}
// 第二个重载方法,接受一个字符串参数
public void DoSomething(string text)
{
Console.WriteLine("Called with string: " + text);
}
// 第三个重载方法,接受一个整数和一个字符串参数
public void DoSomething(int number, string text)
{
Console.WriteLine("Called with integer and string: " + number + ", " + text);
}
}
在这个例子中,DoSomething
方法被重载了三次,每次都有不同的参数列表。您可以根据需要调用这些方法,编译器会根据传递的参数自动选择正确的方法版本。
请注意,方法重载要求方法的返回类型不同,或者即使返回类型相同,它们的返回类型签名也不同。在上面的示例中,所有重载的DoSomething
方法都返回void
,因此它们满足方法重载的条件。但是,如果方法的返回类型不同,那么这些方法就不能被视为重载。