C# static

C# static ist ein Keyword, dass du verwenden kannst, um Klassen, Methoden uvm. als statisch zu deklarieren. Statisch bedeutet, dass du diesen Typ nicht instanziieren kannst (kein Objekt davon erstellen). Du kannst also kein Objekt einer statischen Klasse erstellen und auch nicht über ein Objekt auf statische Member (Felder, Eigenschaften, Methoden etc.) zugreifen. Stattdessen greifst du über den Klassennamen auf die Member zu.

Folgende wichtige Member können als static markiert werden:

Lerne C#, den einfach Weg!
Programmieren lernen muss nicht schwer sein!

Eine Klasse als C# static markieren

Innerhalb einer statischen Klasse kannst du statische Member deklarieren.

Im folgende Beispiel erstellen wir eine statische Klasse, Variable und Methode.

static class MainProgram
{ 
   public static int rebootCounter = 60; 

   public static void Run() 
   { 
      // Code hier
   } 
}

Gehen wir das Ganze nun etwas detaillierter anhand von einem praktischen Beispiel durch:

public static class Database
{
    private static List<int> dbNumbers = new List<int>();

    public static int AddToDb(int numberToSave)
    {
        dbNumbers.Add(numberToSave);
    }

    public static int GetByIndexFromDb(int index)
    {
        return dbNumbers[index];
    }
}

Unsere Klasse Database ist als statisch markiert, daher sind alle Member dieser Klasse ebenfalls statisch. Wenn du nun eine Methode der Database Klasse aufrufen möchtest, dann geht das üben den Klassennamen und dem Methodennamen z. B. Database.AddToDb(10);

class Program
{
    static void Main(string[] args)
    {
        int myNumber = 100;

        // Keine Objektinstanz nötig, Aufruf direkt über Klassenname
        Database.AddToDb(myNumber);
    }
}

Natürlich kannst du auch statische Methoden in einer nicht-statischen Klasse erstellen. Wichtig zu wissen ist aber, dass eine statische Methode keine anderen nicht-statischen Methoden aufrufen kann (statische Methoden können also nur andere statische Methoden aufrufen und auch nur auf statische Member zugreifen):

Statische Felder und Zugriffe

Du kannst einer nicht-statischen Klasse eine oder mehrere statische Methoden und andere nicht-statische Mitglieder hinzufügen. Wenn du deine Klasse also als Objekt instanziieren willst, kannst du bestimmte Member dieser Klasse also trotzdem als static markieren.

Du kannst beispielsweise eine statische Variable (in einer nicht-statischen Klasse erstellen), um eine Variable zu haben, die von allen Instanzen einer Klasse gemeinsam genutzt werden kann:

public class Planet
{
    public static int totalUniverseHumanCount = 0;

    public Planet(){
       totalUniverseHumanCount += 100000; // Statische variable erhöhen
    }  
}

class Universe
{
    static void Main()
    {
        Planet earth = new Planet();
        Planet mars = new Planet();

        Console.WriteLine(Planet.totalUniverseHumanCount ); // 200000
    }
}

Hier kannst du noch mehr über das C# static Keyword erfahren. Unsere Artikel über Interfaces oder Events könnten dich ebenfalls interessieren.

Programmieren lernen muss nicht schwer sein! Mit meinem C# Video-Intensivkurs wirst du ganz einfach und im Handumdrehen zum echten .NET Profi! Schau dir jetzt den Videokurs an um zügig ein besserer Entwickler zu werden, mehr Geld zu verdienen oder deinen ersten Job als Quereinsteiger zu finden.

Willst du wissen, wie du einfach und schnell zum C# Profi wirst?
PRogrammieren lernen kann einfach sein!
Overlay Image
Willst du wissen, wie du einfach und schnell zum C# Profi wirst?
PRogrammieren lernen kann einfach sein!
Overlay Image
Setze dein gelerntes Wissen in die Tat um und programmiere echte Anwendungen.
1. Tipp
1/3
Overlay Image
Setze dein gelerntes Wissen in die Tat um und programmiere echte Anwendungen.
1. Tipp
1/3
Overlay Image
Lerne wie du mit Debugging Fehler eines Programmes professionell beheben kannst.
2. Tipp
2/3
Overlay Image
Lerne wie du mit Debugging Fehler eines Programmes professionell beheben kannst.
2. Tipp
2/3
Overlay Image
Fokussiere dich beim lernen auf die richtigen Inhalte und nicht auf die Menge.
3. Tipp
3/3
Overlay Image
Fokussiere dich beim lernen auf die richtigen Inhalte und nicht auf die Menge.
3. Tipp
3/3
Overlay Image
Ja, so einfach kann es sein! Mit meinem C# Videokurs wirst du ganz einfach zum echten Profi Entwickler. Möchtest du mehr dazu erfahren?
Alles in einem Kurs
Overlay Image
Ja, so einfach kann es sein! Mit meinem C# Videokurs wirst du im Handumdrehen zum echten Profi Entwickler. Möchtest du mehr dazu erfahren?
Alles in einem Kurs
Overlay Image
Diese Seite verwendet Cookies. Wir können diese zur Analyse unserer Besucherdaten platzieren, um unsere Website zu verbessern, personalisierte Inhalte anzuzeigen und Ihnen ein großartiges Website-Erlebnis zu bieten. Für weitere Informationen zu den von uns verwendeten Cookies öffnen Sie die Einstellungen.