set (référence C#)set (C# Reference)

Le mot clé set définit une méthode accessor dans une propriété ou un indexeur qui assigne une valeur à l’élément de la propriété ou de l’indexeur.The set keyword defines an accessor method in a property or indexer that assigns a value to the property or the indexer element. Pour plus d’informations et des exemples, consultez Propriétés, Propriétés implémentées automatiquement et Indexeurs.For more information and examples, see Properties, Auto-Implemented Properties, and Indexers.

L’exemple suivant définit un accesseur get et un accesseur set pour une propriété nommée Seconds.The following example defines both a get and a set accessor for a property named Seconds. Il utilise un champ privé nommé _seconds pour stocker la valeur de la propriété.It uses a private field named _seconds to back the property value.


class TimePeriod
{
     private double _seconds;

     public double Seconds
     {
         get { return _seconds; }
         set { _seconds = value; }
     }
}

Souvent, l’accesseur set se compose d’une seule instruction qui retourne une valeur, comme dans l’exemple précédent.Often, the set accessor consists of a single statement that returns a value, as it did in the previous example. À compter de C# 7.0, vous pouvez implémenter l’accesseur set comme membre expression-bodied.Starting with C# 7.0, you can implement the set accessor as an expression-bodied member. L’exemple suivant implémente l’accesseur get et l’accesseur set en tant que membres expression-bodied.The following example implements both the get and the set accessors as expression-bodied members.


class TimePeriod
{
    private double _seconds;

    public double Seconds
    {
        get => _seconds;
        set => _seconds = value;
    }
}

Pour les cas simples dans lesquels les accesseurs get et set d’une propriété n’effectuent aucune autre opération que la définition ou la récupération d’une valeur dans un champ de stockage privé, vous pouvez tirer parti de la prise en charge par le compilateur C# des propriétés implémentées automatiquement.For simple cases in which a property's get and set accessors perform no other operation than setting or retrieving a value in a private backing field, you can take advantage of the C# compiler's support for auto-implemented properties. L’exemple suivant implémente Hours en tant que propriété implémentée automatiquement.The following example implements Hours as an auto-implemented property.

class TimePeriod2
{
    public double Hours { get; set; }
}

Spécification du langage C#C# Language Specification

Pour plus d'informations, voir la spécification du langage C#.For more information, see the C# Language Specification. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.The language specification is the definitive source for C# syntax and usage.

Voir aussiSee Also

Référence C#C# Reference
Guide de programmation C#C# Programming Guide
Mots clés C#C# Keywords
PropriétésProperties