set (C#-Referenz)set (C# Reference)
Das Schlüsselwort set
definiert eine Accessor-Methode in einer Eigenschaft oder einem Indexer, die der Eigenschaft oder dem Indexer-Element einen Wert zuweist.The set
keyword defines an accessor method in a property or indexer that assigns a value to the property or the indexer element. Weitere Informationen und Beispiele finden Sie unter Eigenschaften, Automatisch implementierte Eigenschaften und Indexers.For more information and examples, see Properties, Auto-Implemented Properties, and Indexers.
Im folgenden Beispiel werden ein get
- und ein set
-Accessor für eine Eigenschaft namens Seconds
definiert.The following example defines both a get
and a set
accessor for a property named Seconds
. Im Beispiel wird ein privates Feld mit dem Namen _seconds
verwendet, um den Eigenschaftswert zu unterstützen.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; }
}
}
Der set
-Accessor besteht häufig aus einer einzelnen Anweisung, die einen Wert zurückgibt (wie im vorherigen Beispiel gezeigt).Often, the set
accessor consists of a single statement that assigns a value, as it did in the previous example. Ab C# 7.0 können Sie die set
-Zugriffsmethode als Ausdruckskörpermember implementieren.Starting with C# 7.0, you can implement the set
accessor as an expression-bodied member. Im folgenden Beispiel wird sowohl der get
- als auch der set
-Accessor als Ausdruckskörpermember implementiert.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;
}
}
In einfachen Fällen, in denen der get
- und der set
-Accessor einer Eigenschaft nichts anderes durchführen als das Festlegen oder Abrufen eines Wertes in einem privaten Unterstützungsfeld, können Sie die Vorteile der Unterstützung von automatisch implementierten Eigenschaften durch einen C#-Compiler nutzen.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. Im folgenden Beispiel wird Hours
als automatisch implementierte Eigenschaft implementiert.The following example implements Hours
as an auto-implemented property.
class TimePeriod2
{
public double Hours { get; set; }
}
C#-SprachspezifikationC# language specification
Weitere Informationen erhalten Sie unter C#-Sprachspezifikation.For more information, see the C# Language Specification. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.The language specification is the definitive source for C# syntax and usage.