Nullable Long-Switch-Anweisung, die in VS2015 keine erwartete Ausgabe erzeugt

9

Ich sehe ein merkwürdiges Verhalten, wenn ich in VS2015 Update 1 eine Nullable Long Switch-Anweisung verwende, die ich in anderen Visual Studio-Versionen nicht sehe, wo sie wie erwartet ausgeführt wird.

%Vor%

Dieser Beispielcode erzeugt die folgende Ausgabe (Ausgerichtet für Lesbarkeit):

%Vor%

Ich beobachte dieses Verhalten nur bei Nullable-Typen. Nicht nullfähige Typen funktionieren wie erwartet.

Beachten Sie, dass dies nicht dasselbe Verhalten wie in diese Frage und nicht von Dieser Compilerfehler, der in VS2015 Update 1 behoben wurde. Ich habe überprüft, dass beide Beispiele korrekt funktionieren.

    
ABarney 22.01.2016, 06:14
quelle

2 Antworten

2

Es sieht so aus, als ob dies durch diesen Fehler verursacht wird und wurde mit Diese Pull-Anforderung .

Ich habe einen kürzlichen Build von Roslyn ausprobiert und der Beispielcode in der Frage funktioniert jetzt wie erwartet.

Hier ist die aktualisierte Version von MSBuild Tools 2015, die Das Problem wurde behoben.

    
ABarney 23.01.2016, 00:22
quelle
1

Dies ist ein Fehler. Ich glaube, es muss ein Rest des gleichen Bugs sein. Sie ersetzen Ihren Code besser durch If , um unerwartetes Verhalten zu vermeiden.

    
Martin 22.01.2016 06:33
quelle