Исторически при разработке в. Net I не удалось продублировать имя переменной во вложенной области видимости. Однако после недавнего обновления Visual Studio 2019 до версии 16.4.2 я заметил, что имена переменных могут дублироваться во вложенной области.
Например:
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
Почему это внезапно разрешено?
Последующий вопрос: Если это новая языковая "функция", есть ли способ настроить Visual Studio, чтобы продолжить разрыв, когда переменная дублируется во вложенной области?