Ich würde erwarten, dass der Compiler versucht, x als int zu werfen, aber anscheinend tut es nicht.Warum wird nicht versucht, zu einem Nullwert hinzuzufügen, eine InvalidOperationException ausgelöst?
Bearbeiten von 280Z28: Geändert NullReferenceException
zu InvalidOperationException
, was Nullable<T>.Value
wirft, wenn HasValue
falsch ist.
Ihre Logik ist gut formuliert, aber es sollte wirklich eine Ausnahme auslösen. Denken Sie an + als nur syntaktisch kühlere Art, Nummer zu laufen.Plus (2). Es sollte definitiv eine Ausnahme auslösen, wenn die Zahl null ist oder leicht zu unerwartetem Verhalten führen kann. –
Noch schlimmer, wenn Sie eine Nummer haben und Null hinzufügen, wird es null. –