C# - Operator '??' angewendet werden kann nicht auf Operanden vom Typ 'decimal' und 'dezimal'
public decimal v1 {
get {
return this._v1;
}
set {
this._v1 = value ?? 0M; //also I tried, default(decimal)
}
}
Fehlermeldung sagen :
Operator '??' angewendet werden kann nicht auf Operanden vom Typ 'decimal' und 'dezimal'
Warum es nicht funktioniert, und wie soll ich tun damit es funktioniert?
- Das sind value-Typen und nicht
null
- Aha! Ich sehe 🙂 danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
decimal
- Typ darf nicht null sein, so dass der null coalesce operator macht keinen Sinn hier. Setzen Sie einfach_v1
zuvalue
.Diese sind value-Typen und nicht
null
können Sie dieNullable<decimal>
ist es, eine Dezimalzahl? oder eine Dezimalzahl
den ?? arbeitet mit einer Dezimalzahl? aber nicht dezimal, da eine Dezimalzahl kann nie null sein.
http://msdn.microsoft.com/en-us/library/ms173224.aspx
Ist die Null Coalescing-Operator. Seit dezimal kann nicht null sein, es hat keine Verwendung mit dezimal.
Können Sie eine
decimal?
kann auf null gesetzt werden, wenn Sie diese Funktionalität benötigen: