mercredi 6 mars 2024

C# Static

 En C#, la clé `static` est utilisée pour déclarer des membres (variables, méthodes, propriétés) d'une classe qui appartiennent à la classe elle-même plutôt qu'à une instance spécifique de cette classe. Voici quelques points clés à retenir sur l'utilisation de `static` en C# :


1. **Membres statiques** : Lorsqu'un membre est déclaré comme `static`, il est partagé par toutes les instances de la classe et peut être accédé via le nom de la classe elle-même plutôt que par une instance spécifique de cette classe.


2. **Accès** : Les membres statiques peuvent être accédés directement à partir du nom de la classe, sans avoir besoin d'instancier un objet de cette classe.


3. **Portée** : Les membres statiques ont une portée globale à la classe, ce qui signifie qu'ils sont disponibles pour tous les objets de cette classe et peuvent être utilisés même si aucune instance de la classe n'existe.


4. **Utilisations courantes** : Les membres statiques sont souvent utilisés pour définir des constantes (`const`), des méthodes utilitaires (par exemple, des méthodes de conversion) ou des variables partagées (par exemple, un compteur de instances).


Voici un exemple d'utilisation de membres statiques en C# :


```csharp

using System;


public class MyClass

{

    public static int staticVariable = 10;

    public int instanceVariable = 20;


    public static void StaticMethod()

    {

        Console.WriteLine("This is a static method.");

    }


    public void InstanceMethod()

    {

        Console.WriteLine("This is an instance method.");

    }

}


class Program

{

    static void Main(string[] args)

    {

        // Accès à la variable statique via la classe

        Console.WriteLine(MyClass.staticVariable); // Affiche 10


        // Appel d'une méthode statique via la classe

        MyClass.StaticMethod(); // Affiche "This is a static method."


        // Création d'une instance de la classe

        MyClass obj = new MyClass();


        // Accès à la variable d'instance via l'objet

        Console.WriteLine(obj.instanceVariable); // Affiche 20


        // Appel d'une méthode d'instance via l'objet

        obj.InstanceMethod(); // Affiche "This is an instance method."

    }

}

```


Dans cet exemple, `staticVariable` et `StaticMethod()` sont des membres statiques de la classe `MyClass`, tandis que `instanceVariable` et `InstanceMethod()` sont des membres d'instance.






















Aucun commentaire:

Enregistrer un commentaire