In der Vergangenheit konnte ich bei der Entwicklung in .Net den Namen der Variablen im verschachtelten Bereich nicht duplizieren. Nach der kürzlich erfolgten Aktualisierung von Visual Studio 2019 auf Version 16.4.2 habe ich jedoch festgestellt, dass Variablennamen im verschachtelten Bereich dupliziert werden können.
Zum Beispiel:
var test = "hello";
Console.WriteLine(test);
var things = new []{"one", "two", "three"};
things.Select(test => // <- test is duplicated here, normally this breaks compilation
{
Console.WriteLine(test);
return test;
}).ToList();
// output:
// hello
// one
// two
// three
https://dotnetfiddle.net/h85BK4
Warum ist das plötzlich erlaubt?
Folgefrage: Wenn dies eine neue Sprachfunktion ist, gibt es eine Möglichkeit, Visual Studio so zu konfigurieren, dass es weiterhin unterbrochen wird, wenn eine Variable im verschachtelten Bereich dupliziert wird?
test
wie vorgeschlagen hat keine Auswirkung. Sie können es in der in der Frage verlinkten Geige versuchen.
test
Variable verwendet, da der Datentyp gleich ist. Versuchen Sie, dietest
Variable alsint
z.var test = 12345;
Ich denke, Sie sollten Kompilierungsfehler bekommen. (Ich habe es nicht versucht)