Angenommen, ein C# -Programm mit zwei nullwertfähigen Dezimaleigenschaften A und B. Die folgende Addition gibt nur den Wert von A zurück: var result = A ?? 0 + B ?? 0; Die korrekte Verwendung ist: var Ergebnis = (A ?? 0) + (B ?? 0);C# -Zusatz mit Nullwert Dezimalstellen und Vorrang von ?? Operator
Beispielkonsolenprogramm:
class Program
{
static void Main(string[] args)
{
A = (decimal)0.11;
B = (decimal)0.69;
NullableDecimalAddition();
Console.ReadLine();
}
public static decimal? A { get; set; }
public static decimal? B { get; set; }
private static void NullableDecimalAddition()
{
decimal result1 = A ?? 0 + B ?? 0;
decimal result2 = (A ?? 0) + (B ?? 0);
Console.WriteLine("result1: " + result1); // = 0.11
Console.WriteLine("result2: " + result2); // = 0.80
}
}
Meine Frage ist was bei der Berechnung mit result1 geschieht. Wie ist der Vorrang der + und ?? Betreiber?
Ok, danke für die richtige Antwort – FSou1
Es ist brillant, wenn wir diese Art von Informationen bekommen –
Vielen Dank für die Antworten und Erklärungen. – Nicolo