Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

Methodenüberladung in C# meistern: Konzepte, Beispiele und Best Practices

Methodenüberladung in C# meistern

Entdecken Sie, wie Sie Methoden in C# überladen – durch Variation der Parameteranzahl, Typen und Reihenfolge – mit klaren Beispielen.

In C# kann eine Klasse mehrere Methoden mit demselben Namen, aber unterschiedlichen Parameterlisten enthalten – dies nennt man Methodenüberladung. Zum Beispiel:

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

Hier ist die display()-Methode überladen. Diese Methoden teilen sich denselben Namen, akzeptieren aber unterschiedliche Argumente.

Hinweis: Die Überladung wird ausschließlich durch die Parameterlisten bestimmt; Rückgabetypen können unterschiedlich sein.


1. Durch Ändern der Parameteranzahl

Sie können eine Methode überladen, wenn die Anzahl der Parameter unterschiedlich ist.

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

Beispiel:

using System;

namespace MethodOverload
{
    class Program
    {
        // Methode mit einem Parameter
        void display(int a)
        {
            Console.WriteLine("Argumente: " + a);
        }

        // Methode mit zwei Parametern
        void display(int a, int b)
        {
            Console.WriteLine("Argumente: " + a + " und " + b);
        }

        static void Main(string[] args)
        {
            Program p1 = new Program();
            p1.display(100);
            p1.display(100, 200);
            Console.ReadLine();
        }
    }
}

Ausgabe

Argumente: 100
Argumente: 100 und 200

Basierend auf der Anzahl der übergebenen Argumente wird die passende Überladung aufgerufen.


2. Durch Ändern der Datentypen der Parameter

Überladung funktioniert auch, wenn die Parametertypen unterschiedlich sind, selbst wenn die Anzahl gleich ist.

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

Beispiel:

using System;

namespace MethodOverload
{
    class Program
    {
        // Methode mit int-Parameter
        void display(int a)
        {
            Console.WriteLine("int-Typ: " + a);
        }

        // Methode mit string-Parameter
        void display(string b)
        {
            Console.WriteLine("string-Typ: " + b);
        }

        static void Main(string[] args)
        {
            Program p1 = new Program();
            p1.display(100);
            p1.display("Programiz");
            Console.ReadLine();
        }
    }
}

Ausgabe

int-Typ: 100
string-Typ: Programiz

3. Durch Ändern der Parameterreihenfolge

Wenn die Parameterliste dieselben Typen und Anzahl hat, erzeugt eine Änderung der Reihenfolge unterschiedliche Überladungen.

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

Beispiel:

using System;

namespace MethodOverload
{
    class Program
    {
        // Methode mit int- und string-Parametern
        void display(int a, string b)
        {
            Console.WriteLine("int: " + a);
            Console.WriteLine("string: " + b);
        }

        // Methode mit string- und int-Parametern
        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();
        }
    }
}

Ausgabe

int: 100
string: Programming
string: Programiz
int: 400

C Sprache

  1. C# Abstrakte Klassen & Methoden meistern: Praktischer Leitfaden
  2. C# Partielle Klassen und Methoden verstehen
  3. Versiegelte Klassen und Methoden in C# meistern
  4. Konstruktorüberladung in C# meistern
  5. Operator Overloading in Python meistern: Ein praktischer Leitfaden
  6. Verilog Tasks verstehen: Functions vs. Tasks, Syntax und Verwendung
  7. Verilog Display Tasks meistern: Effizientes Debugging & Logging
  8. C# Methoden: Definieren, Aufrufen, Rekursion & Parameterübergabe
  9. C# Operatorüberladung: Benutzerdefinierte Operatoren für eigene Typen
  10. C# Anonyme Methoden: Vereinfachung der Delegate-Nutzung