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
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
- Signaturen und Rückgaben; expr-bodied; optionale/benannte Parameter; ref/out; Überladen
- Optionale/benannte Parameter; ref/out/in (Grundlagen)
- Lokale Funktionen (Hinweis zu C# 6) und Überladen