0Pricing
C# Academy · Lektion

Statische Klassen für Hilfsfunktionen

Gruppieren Sie Hilfsfunktionen in statischen Klassen.

Statische Klassen für Hilfsfunktionen ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. 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 4 Lektionen.

Was ist eine statische Klasse?

Eine statische Klasse wird mit static class deklariert. Sie kann nur statische Member enthalten und kann nicht instanziiert werden. Sie ist der natürliche Ort für Hilfsfunktionen.

using System;

static class StringUtils
{
    public static string Shout(string s) => s.ToUpper() + "!";
}

class Program
{
    static void Main()
    {
        Console.WriteLine(StringUtils.Shout("hello"));
    }
}

Keine Instanzen erstellen

Für eine statische Klasse schreiben Sie niemals new. Jeder Zugriff erfolgt direkt über den Klassennamen.

using System;

static class MathUtils
{
    public static int Cube(int x) => x * x * x;
}

class Program
{
    static void Main()
    {
        // No instance needed
        Console.WriteLine(MathUtils.Cube(3));
    }
}

Nur statische Member erlaubt

Der Compiler erzwingt, dass jedes Member einer statischen Klasse statisch ist. Instanzfelder oder Konstruktoren sind nicht zulässig.

using System;

static class Temperature
{
    public static double ToFahrenheit(double c) => c * 9 / 5 + 32;
    public static double ToCelsius(double f) => (f - 32) * 5 / 9;
}

class Program
{
    static void Main()
    {
        Console.WriteLine(Temperature.ToFahrenheit(100));
        Console.WriteLine(Temperature.ToCelsius(32));
    }
}

Verwandte Hilfsmethoden gruppieren

Eine statische Klasse gruppiert Funktionen mit einem gemeinsamen Thema und gibt ihnen einen eindeutigen Namespace wie Validation.IsEmail(...).

using System;

static class Validation
{
    public static bool IsPositive(int n) => n > 0;
    public static bool IsEmail(string s) => s.Contains("@") && s.Contains(".");
}

class Program
{
    static void Main()
    {
        Console.WriteLine(Validation.IsPositive(5));
        Console.WriteLine(Validation.IsEmail("a@b.com"));
    }
}

Die integrierte Math-Klasse

Die .NET-Math-Klasse ist eine statische Klasse. Sie instanziieren sie nie, sondern rufen einfach Math.Sqrt, Math.Max und so weiter auf.

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine(Math.Max(3, 9));
        Console.WriteLine(Math.Sqrt(144));
        Console.WriteLine(Math.Round(3.14159, 2));
    }
}

Statische Klasse mit statischen Feldern

Eine statische Klasse kann statische Felder für gemeinsam genutzte Konstanten oder Konfigurationen enthalten, die von ihren Methoden verwendet werden.

using System;

static class Pricing
{
    public static decimal Tax = 0.08m;

    public static decimal WithTax(decimal price) => price + price * Tax;
}

class Program
{
    static void Main()
    {
        Console.WriteLine(Pricing.WithTax(100m));
    }
}

Reine Funktionen

Hilfsmethoden sind am besten als reine Funktionen geeignet: Die Ausgabe hängt nur von den Eingaben ab, ohne verborgenen Zustand. Dadurch werden sie vorhersehbar und gut testbar.

using System;

static class Geometry
{
    public static double RectArea(double w, double h) => w * h;
    public static double TriArea(double b, double h) => 0.5 * b * h;
}

class Program
{
    static void Main()
    {
        Console.WriteLine(Geometry.RectArea(4, 5));
        Console.WriteLine(Geometry.TriArea(6, 3));
    }
}

Hilfsmethoden kombinieren

Statische Hilfsmethoden können sich gegenseitig aufrufen und so größere Operationen aus kleineren aufbauen.

using System;

static class TextUtils
{
    public static string Clean(string s) => s.Trim().ToLower();
    public static string Slug(string s) => Clean(s).Replace(" ", "-");
}

class Program
{
    static void Main()
    {
        Console.WriteLine(TextUtils.Slug("  Hello World  "));
    }
}

Statische Klasse oder statische Member in einer normalen Klasse

Wenn ein Typ ausschließlich Hilfsmethoden enthält, machen Sie die gesamte Klasse statisch. Wenn er Hilfsmethoden mit Instanzen kombiniert, behalten Sie eine normale Klasse mit einigen statischen Membern bei.

using System;

static class Convert2
{
    public static int FeetToInches(int feet) => feet * 12;
}

class Program
{
    static void Main()
    {
        Console.WriteLine(Convert2.FeetToInches(3) + " inches");
    }
}

Hilfsmethoden auffindbar halten

Gruppieren Sie Hilfsmethoden in statischen Klassen mit aussagekräftigen Namen (DateUtils, StringUtils), damit andere Entwickler sie leicht finden können.

using System;

static class DateUtils
{
    public static bool IsWeekend(DayOfWeek d) =>
        d == DayOfWeek.Saturday || d == DayOfWeek.Sunday;
}

class Program
{
    static void Main()
    {
        Console.WriteLine(DateUtils.IsWeekend(DayOfWeek.Sunday));
        Console.WriteLine(DateUtils.IsWeekend(DayOfWeek.Monday));
    }
}

Alles zusammenführen

Statische Hilfsklassen zentralisieren zustandslose Logik hinter einem eindeutigen Namen und verringern so Duplikate in Ihrer Codebasis.

using System;

static class MoneyUtils
{
    public static string Format(decimal amount) => "$" + amount.ToString("0.00");
    public static decimal ApplyDiscount(decimal price, double pct) =>
        price * (decimal)(1 - pct / 100);
}

class Program
{
    static void Main()
    {
        decimal discounted = MoneyUtils.ApplyDiscount(80m, 25);
        Console.WriteLine(MoneyUtils.Format(discounted));
    }
}

Schnelltest

Testen Sie Ihr Verständnis statischer Klassen.

Zusammenfassung

Eine statische Klasse (static class X) kann nicht instanziiert werden und darf nur statische Member enthalten. Sie ist der übliche Ort für zustandslose Hilfsfunktionen und Konstanten, die unter einem aussagekräftigen Namen gruppiert werden. Die integrierte Math-Klasse ist ein bekanntes Beispiel.

using System;

static class Util
{
    public static int Double(int n) => n * 2;
}

class Program
{
    static void Main()
    {
        Console.WriteLine(Util.Double(21));
    }
}

Häufig gestellte Fragen

Ist die Lektion „Statische Klassen für Hilfsfunktionen“ kostenlos?

Ja — der vollständige Text von „Statische Klassen für Hilfsfunktionen“ 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 4 Lektionen.

Was lerne ich in „Statische Klassen für Hilfsfunktionen“?

Gruppieren Sie Hilfsfunktionen in statischen Klassen. 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 2 von 4.

Wie lange dauert die Lektion „Statische Klassen für Hilfsfunktionen“?

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. Statische Methoden und Felder
  2. Statische Klassen für Hilfsfunktionen
  3. Konstanten und readonly-Felder
  4. Statisches versus Instanzdesign
← Zurück zu C# Academy