Mit Methodenüberladung können Sie mehrere Definitionen desselben Funktionsnamens im selben Bereich haben. Funktionsdefinitionen müssen sich in der Art und/oder Anzahl der Parameter in der Parameterliste unterscheiden.
Schauen wir uns ein Beispiel an. Hier geht der Aufruf an eine Methode mit einem einzigen Parameter –
using System; class Student { static void DisplayMarks(int marks1 = 90) { Console.WriteLine("Method with one parameter!"); } static void DisplayMarks(int marks1, int marks2 = 95) { Console.WriteLine("Method with two parameters!"); } static void Main() { DisplayMarks(97); } }
Jetzt wollen wir sehen, was einen mehrdeutigen Aufruf erzeugt. Die Verwirrung hier besteht darin, dass die zweite Methode zwei Standardparameter erfordert, während die erste Methode die Standardeinstellung eines Parameters erfordert. Dadurch entsteht Unklarheit.
using System; class Student { static void DisplayMarks(int marks1 = 90, int marks2 = 80) { Console.WriteLine("Method with two parameters!"); } static void DisplayMarks(int marks1, int marks2 = 80, marks3 = 98) { Console.WriteLine("Method with three parameters!"); } static void Main() { DisplayMarks(80); } }
Das obige ist der detaillierte Inhalt vonÜberladene Methoden und Mehrdeutigkeit in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!