Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

Method overloading in C#: concepten, voorbeelden en best practices

Method overloading in C# onder de knie

Ontdek hoe je methodes in C# kunt overloaden, inclusief het wijzigen van parameteraantallen, typen en volgorde, met duidelijke voorbeelden.

In C# kan een klasse meerdere methodes met dezelfde naam maar verschillende parameterlijsten bevatten – dit heet method overloading. Bijvoorbeeld:

void display() { ... } void display(int a) { ... } float display(double a) { ... } float display(int a, float b) { ... }

Hier is de display()-methode overgeladen. Deze methodes delen dezelfde naam maar accepteren verschillende argumenten.

Let op: Overloading wordt uitsluitend bepaald door parameterlijsten; return types mogen verschillen.


1. Door het aantal parameters te wijzigen

Je kunt een methode overloaden als het aantal parameters verschilt.

void display(int a) { ... } ... void display(int a, int b) { ... }

Voorbeeld:

using System; namespace MethodOverload { class Program { // methode met één parameter void display(int a) { Console.WriteLine("Arguments: " + a); } // methode met twee parameters void display(int a, int b) { Console.WriteLine("Arguments: " + a + " and " + b); } static void Main(string[] args) { Program p1 = new Program(); p1.display(100); p1.display(100, 200); Console.ReadLine(); } } }

Output

Arguments: 100 Arguments: 100 and 200

Op basis van het aantal doorgegeven argumenten wordt de juiste overload aangeroepen.

  • p1.display(100) roept de versie met één parameter aan.
  • p1.display(100, 200) roept de versie met twee parameters aan.

2. Door de datatypes van parameters te wijzigen

Overloading werkt ook wanneer de parameter types verschillen, zelfs als het aantal gelijk is.

void display(int a) { ... } ... void display(string b) { ... }

Voorbeeld:

using System; namespace MethodOverload { class Program { // methode met int parameter void display(int a) { Console.WriteLine("int type: " + a); } // methode met string parameter void display(string b) { Console.WriteLine("string type: " + b); } static void Main(string[] args) { Program p1 = new Program(); p1.display(100); p1.display("Programiz"); Console.ReadLine(); } } }

Output

int type: 100 string type: Programiz
  • p1.display(100) roept de int-overload aan.
  • p1.display("Programiz") roept de string-overload aan.

3. Door de volgorde van parameters te wijzigen

Wanneer de parameterlijst dezelfde types en aantal heeft, creëert het wijzigen van hun volgorde verschillende overloads.

void display(int a, string b) { ... } ... void display(string b, int a) { ... }

Voorbeeld:

using System; namespace MethodOverload { class Program { // methode met int en string parameters void display(int a, string b) { Console.WriteLine("int: " + a); Console.WriteLine("string: " + b); } // methode met string en int parameters void display(string b, int a) { Console.WriteLine("string: " + b); Console.WriteLine("int: " + a); } static void Main(string[] args) { Program p1 = new Program(); p1.display(100, "Programming"); p1.display("Programiz", 400); Console.ReadLine(); } } }

Output

int: 100 string: Programming string: Programiz int: 400
  • p1.display(100, "Programming") roept de int, string-overload aan.
  • p1.display("Programiz", 400) roept de string, int-overload aan.

C Taal

  1. EPA Methode 21: Uitgebreid Lekdetectie & Reparatieprotocol
  2. C# Abstract Classes & Methods: Een Praktische Gids
  3. C# Partial Classes en Methods: Een Praktische Gids
  4. C# Sealed Classes en Methods: Wanneer en Hoe Te Gebruiken
  5. Constructor overloading in C#: flexibele klassen ontwerpen
  6. C# Methodes: Definiëren, Aanroepen en Gebruiken van Functies
  7. Operator Overloading in C# Beheersen voor Aangepaste Typen
  8. C# Anonymous Methods: Delegate Gebruik Vereenvoudigen
  9. Verilog Tasks begrijpen: Functions vs Tasks, Syntax en Gebruik
  10. Verilog Display Tasks beheersen: Efficiënt Debuggen & Loggen
  11. Operator overloading in Python beheersen: een praktische gids