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.

Du programmierst gerne aber stößt dabei immer wieder auf Fehler und Wissenslücken? Dann kann ich dir jetzt sofort weiterhelfen! 🙂 Mit meinem C# Videokurs meisterst du C# ganz einfach und in Rekordzeit! So holen wir das Meiste aus deiner Zeit heraus! Alles andere wäre doch eine völlige Verschwendung, oder? Mit dem Kurs machst du endgültig SCHLUSS mit komplexen Konzepten und frustrierenden Fehler. Bist du bereit um ein hochkompetenter C# Entwickler zu werden? Super! Dann klicke jetzt auf den Button, und ich werde dir sofort den Kurs zeigen, mit dem du C# schnell und fast schon zu einfach meistern wirst:

Folgende wichtige Member können als static markiert werden:

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.

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# Video-Intensivkurs wirst du ganz einfach zum echten C# Profi Entwickler. Möchtest du mehr dazu erfahren?
Alles in einem Kurs
Overlay Image
Ja, so einfach kann es sein! Mit meinem C# Intensivkurs für Grundlagen und Expertenwissen wirst du ganz einfach 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.