0Pricing
C# Academy · Lektion

Lokale Funktionen (Hinweis zu C# 6) und Überladen

Überladen Sie Methoden sicher (gleicher Name, unterschiedliche Parameter). Da C# 6 keine lokalen Funktionen besitzt, können Sie diese mit kleinen privaten Hilfsfunktionen nachbilden.

Lokale Funktionen (Hinweis zu C# 6) und Überladen ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 3 Lektionen.

Übersicht

Ziel: Verwenden Sie einen Methodennamen für verwandte Aufgaben (Überladen). In C# 6 gibt es keine lokalen Funktionen; verwenden Sie stattdessen kleine private Hilfsmethoden.

Grundlagen der Überladung

Überladene Methoden haben denselben Namen, unterscheiden sich aber durch Parametertypen oder deren Anzahl. Der Compiler wählt die beste Übereinstimmung.

using System;

public static class MathX
{
  public static int Sum(int a, int b) { return a + b; }
  public static double Sum(double a, double b) { return a + b; }
}

public class Program
{
  public static void Main(string[] args)
  {
    Console.WriteLine("Sum ints = " + MathX.Sum(2, 3));
    Console.WriteLine("Sum doubles = " + MathX.Sum(2.5, 3.1));
  }
}

Überladungen nach Parameteranzahl

Durch Ändern der Arity (Anzahl der Parameter) entsteht eine klare Menge von Überladungen.

using System;

public static class Printer
{
  public static void Print(string text)
  {
    Console.WriteLine(text);
  }

  public static void Print(string text, int times)
  {
    for (int i = 0; i < times; i = i + 1)
    {
      Console.WriteLine(text);
    }
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Printer.Print("Hello");
    Printer.Print("Hi", 2);
  }
}

Regel für Rückgabetypen

Regel: Der Rückgabetyp allein kann Überladungen nicht unterscheiden. Ändern Sie für eine gültige Überladung die Parameter-typen, die Anzahl oder die Modifizierer (z. B. ref/out).

Alternative zu lokalen Funktionen

Keine lokalen Funktionen in C# 6: Lagern Sie eine kleine private Methode aus, damit die Hauptmethode übersichtlich bleibt.

using System;

// No local functions in C# 6: use a tiny private helper inside the class.
public class Report
{
  private static string Header(string title)
  {
    return "-- " + title + " --";
  }

  public static void Print(string title, string body)
  {
    Console.WriteLine(Header(title));
    Console.WriteLine(body);
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Report.Print("Status", "All green");
  }
}

Auflösung von Überladungen

Der Compiler wählt aus der Menge der Überladungen die beste Übereinstimmung. Wenn Aufrufe mehrdeutig sind, fügen Sie eine Typumwandlung hinzu oder passen Sie die Signaturen an.

using System;

public static class Formatter
{
  public static string Format(int n) { return "N=" + n; }
  public static string Format(string s) { return "S=" + s; }
}

public class Program
{
  public static void Main(string[] args)
  {
    Console.WriteLine(Formatter.Format(5));       // picks int overload
    Console.WriteLine(Formatter.Format("hello")); // picks string overload

    // Avoid ambiguity: cast when needed
    Console.WriteLine(Formatter.Format((int)3));
  }
}

Regel zur Überladung

Kurze Frage: Welche Aussage über die Methodenüberladung in C# ist richtig?

Zusammenfassung

Zusammenfassung: Erstellen Sie Überladungsmengen, indem Sie Parametertypen oder deren Anzahl ändern, nicht den Rückgabetyp. Ersetzen Sie in C# 6 lokale Funktionen durch kleine private Hilfsmethoden, damit Methoden übersichtlich bleiben.

Häufig gestellte Fragen

Ist die Lektion „Lokale Funktionen (Hinweis zu C# 6) und Überladen“ kostenlos?

Ja — der vollständige Text von „Lokale Funktionen (Hinweis zu C# 6) und Überladen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Lokale Funktionen (Hinweis zu C# 6) und Überladen“?

Überladen Sie Methoden sicher (gleicher Name, unterschiedliche Parameter). Da C# 6 keine lokalen Funktionen besitzt, können Sie diese mit kleinen privaten Hilfsfunktionen nachbilden. Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C# Academy zu starten?

Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 3.

Wie lange dauert die Lektion „Lokale Funktionen (Hinweis zu C# 6) und Überladen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?

Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Signaturen und Rückgaben; expr-bodied; optionale/benannte Parameter; ref/out; Überladen
  2. Optionale/benannte Parameter; ref/out/in (Grundlagen)
  3. Lokale Funktionen (Hinweis zu C# 6) und Überladen
← Zurück zu C# Academy