在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
,因此它們滿足方法重載的條件。但是,如果方法的返回類型不同,那么這些方法就不能被視為重載。