Bedeutung der? Operator in C # für Eigenschaften [duplizieren]

7

In System.Windows.Media.Animation sehe ich den Code wie folgt:

%Vor%

Was macht das? Betreiber tun hier? Weiß jemand?

Ich habe versucht, dies zu googlen, aber es ist schwierig, nach dem Operator zu suchen, wenn Sie nicht wissen, wie er namentlich genannt wird. Ich habe die Seite auf Operatoren ( Ссылка ) aber überprüft das ? Operator ist dort nicht aufgeführt.

Danke!

    
swinefeaster 29.07.2011, 06:56
quelle

7 Antworten

18

? ist ein Typdecorator. T? ist dasselbe wie Nullable<T> , dh a Nullwerttyp.

Die Dokumentation der Eigenschaft By erklärt, warum es hier verwendet wird:

Die Eigenschaft steuert, wie A DoubleAnimation fortschreitet; Anstatt jedoch die Eigenschaft By festzulegen, können Sie auch die Eigenschaften From und To (oder eine der beiden) festlegen, um den Animationsfortschritt zu steuern. Jede Kombination von Eigenschaften (außer To und By ) ist erlaubt, also muss es eine Möglichkeit geben zu signalisieren, dass eine Eigenschaft nicht gesetzt ist - daher ist sie nullfähig.

  

Verwenden Sie die Eigenschaft By , wenn Sie einen Wert "um" einen bestimmten Betrag animieren möchten, anstatt einen Start- oder Endwert anzugeben. Sie können auch die Eigenschaft By mit der Eigenschaft From verwenden.

    
Konrad Rudolph 29.07.2011, 06:58
quelle
6

Das? bedeutet, es ist Nullable (der Wert kann auf Null gesetzt werden.

Nullable-Typen (C # -Programmierhandbuch)

    
Tim 29.07.2011 06:58
quelle
2

Dies ist kein Operator. Es handelt sich vielmehr um eine spezielle Kurzschreibweise zum Deklarieren Nullable -Werten .

    
Anton Gogolev 29.07.2011 06:58
quelle
1

Es ist nullable propertie, das bedeutet, dass Sie festlegen können, By = null , ohne ? Sie Fehler erhalten, dass eine doppelte Überhöhung null

    
Reniuz 29.07.2011 06:58
quelle
1

? steht für nullbare Typen, dies qualifiziert By in Ihrem Fall, einen Nullwert zu enthalten, der für einen Werttyp

nicht möglich ist     
V4Vendetta 29.07.2011 06:59
quelle
1

Dies bedeutet, dass der Typ nullfähig ist.

Weitere Informationen finden Sie auf dieser Seite .

>     
AgentConundrum 29.07.2011 06:59
quelle
1

Dies ist syntaktischer Zucker, der vom C # -Compiler gehandhabt wird.

Es im Grunde behandeln "doppelt?" als Nullable, wodurch der Wert null sein kann. Im Grunde wird der doppelte Wert in ein anderes Objekt eingeschlossen.

    
user90150 29.07.2011 07:01
quelle

Tags und Links