Leggere in inglese

Condividi tramite


Errore del compilatore CS0136

Una variabile locale denominata 'var' non può essere dichiarata in quest'ambito perché darebbe un significato diverso a 'var', che è già usato in un ambito 'parent or current/child' per identificare qualcos'altro

Una dichiarazione di variabile nasconde un'altra dichiarazione che altrimenti sarebbe nell'ambito. Rinominare la variabile che viene dichiarata nella riga che ha generato l'errore CS0136.

Esempio

L'esempio seguente genera l'errore CS0136:

C#
// CS0136.cs  
namespace MyNamespace  
{  
   public class MyClass  
   {  
      public static void Main()  
      {  
         int i = 0;  
         {  
            char i = 'a';   // CS0136, hides int i  
         }  
         i++;  
      }  
   }  
}  

Da Specifiche del linguaggio C#:

Si tratta di un errore per uno spazio di dichiarazione di variabile locale e uno spazio di dichiarazione di variabile locale annidato per contenere elementi con lo stesso nome. Pertanto, all'interno di uno spazio di dichiarazione annidato non è possibile dichiarare una variabile locale o una costante con lo stesso nome di una variabile locale o una costante in uno spazio di dichiarazione di inclusione. È possibile che due spazi di dichiarazione contengano elementi con lo stesso nome, purché nessuno degli spazi di dichiarazione contenga l'altro.