Historiquement, lors du développement en .Net, je ne pouvais pas dupliquer le nom de la variable dans la portée imbriquée. Cependant, après avoir récemment mis à jour Visual Studio 2019 vers la version 16.4.2, j'ai remarqué que les noms de variables peuvent être dupliqués dans une portée imbriquée.
Par exemple:
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
Pourquoi est-ce soudainement autorisé?
Question de suivi: s'il s'agit d'une nouvelle "fonctionnalité" de langue, existe-t-il un moyen de configurer Visual Studio pour qu'il continue à se rompre lorsqu'une variable est dupliquée dans la portée imbriquée?
test
comme suggéré n'a aucun effet. Vous pouvez l'essayer dans le violon lié dans la question.
test
variable car le type de données est le même. essayez de déclarer latest
variable commeint
par exemple.var test = 12345;
je pense que vous devriez obtenir une erreur de compilation. (Je ne l'ai pas essayé)