0Pricing
C# Academy · Lektion

Signaturen und Rückgaben; expr-bodied; optionale/benannte Parameter; ref/out; Überladen

Definieren Sie Methodensignaturen und Rückgabewerte, verwenden Sie expression-bodied-Methoden sowie optionale/benannte Parameter und ref/out und verstehen Sie das Überladen. Hinweis: C# 6 unterstützt keine lokalen Funktionen.

Signaturen und Rückgaben; expr-bodied; optionale/benannte Parameter; ref/out; Überladen ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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.

Grundlagen von Methoden

Ziel: Definieren Sie saubere Methoden: Signatur (Name, Parameter, Rückgabetyp), kompakte Methodenrümpfe und vorhersehbares Verhalten.

  • Rückgabewerte
  • Expression-bodied-Methoden
  • Optionale und benannte Parameter

Signaturen und Rückgabewerte

Eine Methode hat einen Namen, Parameter und einen Rückgabetyp. Halten Sie Namen eindeutig und präzise.

using System;

public class MathUtil
{
  // Signature: name Add, parameters (int a, int b), return int
  public static int Add(int a, int b)
  {
    return a + b;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    int s = MathUtil.Add(2, 3);
    Console.WriteLine("Sum = " + s);
  }
}

Expression-bodied-Methoden

Expression-bodied-Methoden verwenden => für kleine, klare Hilfsmethoden.

using System;

public static class FormatUtil
{
  // Expression-bodied method (C# 6): concise one-liner
  public static string Greet(string name) => "Hello, " + name + "!";
}

public class Program
{
  public static void Main(string[] args)
  {
    Console.WriteLine(FormatUtil.Greet("Ada"));
  }
}

Optionale und benannte Parameter

Verwenden Sie optionale Parameter für sinnvolle Standardwerte und benannte Argumente für mehr Klarheit am Aufrufort.

using System;

public static class Logger
{
  // Optional parameter: times has a default
  public static void Log(string message, int times = 1)
  {
    for (int i = 0; i < times; i = i + 1)
    {
      Console.WriteLine(message);
    }
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Logger.Log("One time");                 // uses default
    Logger.Log(message: "Twice", times: 2); // named arguments
  }
}

Grundlagen von ref und out

ref: Die Variable muss vor dem Aufruf zugewiesen sein. out: Die Methode muss die Variable vor der Rückgabe zuweisen.

using System;

public static class RefOutDemo
{
  public static void Increment(ref int x)
  {
    x = x + 1; // modifies caller's variable
  }

  public static bool TryDivide(int a, int b, out int result)
  {
    if (b == 0)
    {
      result = 0;       // out must be assigned before return
      return false;
    }
    result = a / b;
    return true;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    int n = 10;
    RefOutDemo.Increment(ref n);
    Console.WriteLine("n = " + n); // 11

    int r;
    bool ok = RefOutDemo.TryDivide(9, 0, out r);
    Console.WriteLine("ok=" + ok + " r=" + r);
  }
}

Überladen und Hinweis

Überladen verwendet einen Namen erneut für verwandte Operationen. Hinweis: Lokale Funktionen gibt es in späteren C#-Versionen; verwenden Sie in C# 6 kleine private Hilfsmethoden.

using System;

public static class Calc
{
  // Overloads: same name, different parameter lists
  public static int Area(int side) { return side * side; }
  public static int Area(int width, int height) { return width * height; }

  // C# 6 has no local functions; use private helpers instead.
  private static int DoubleIt(int x) { return x + x; }

  public static int TwiceArea(int side)
  {
    int a = Area(side);
    return DoubleIt(a);
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Console.WriteLine("Area square 3 = " + Calc.Area(3));
    Console.WriteLine("Area rect 3x4 = " + Calc.Area(3, 4));
    Console.WriteLine("Twice area of 3 = " + Calc.TwiceArea(3));
  }
}

Regel für ref vs. out

Kurze Frage: Welche Aussage über ref- und out-Parameter ist in C# richtig?

Zusammenfassung

Zusammenfassung: Entwerfen Sie klare Signaturen, Rückgabewerte und kleine Expression-bodied-Hilfsmethoden; verwenden Sie optionale und benannte Parameter für bessere Lesbarkeit; kennen Sie den Unterschied zwischen ref und out und setzen Sie Überladen mit Bedacht ein. Lokale Funktionen gibt es erst in späteren C#-Versionen – verwenden Sie in C# 6 private Hilfsmethoden.

Häufig gestellte Fragen

Ist die Lektion „Signaturen und Rückgaben; expr-bodied; optionale/benannte Parameter; ref/out; Überladen“ kostenlos?

Ja — der vollständige Text von „Signaturen und Rückgaben; expr-bodied; optionale/benannte Parameter; ref/out; Ü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 „Signaturen und Rückgaben; expr-bodied; optionale/benannte Parameter; ref/out; Überladen“?

Definieren Sie Methodensignaturen und Rückgabewerte, verwenden Sie expression-bodied-Methoden sowie optionale/benannte Parameter und ref/out und verstehen Sie das Überladen. Hinweis: C# 6 unterstützt… 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 1 von 3.

Wie lange dauert die Lektion „Signaturen und Rückgaben; expr-bodied; optionale/benannte Parameter; ref/out; Ü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