Eventuali duplicati:
Child Scope & CS0136
C# Variable ScopingCome funziona Local-Scope Work in C#
Anche se sto usando C# per un bel po 'di tempo, ho solo inciampato su questo errore .
Se ho il seguente:
if(true)
{
int x = 0;
}
int x = 0;
ottengo un errore che dice: A local variable named 'x' cannot be declared in this scope because it would give a different meaning to 'x', which is already used in a child scope to denote something else.
E se faccio questo:
if(true)
{
int x = 0;
}
x = 0;
ottengo un errore che dice: The name 'x' does not exist in the current context.
Posso capire di avere uno o l'altro, ma perché do sono presenti entrambi gli errori? C'è un modo per aggirare la prima opzione? Lo trovo molto fastidioso.
Grazie.
vedere http://stackoverflow.com/a/296780/870604 – ken2k
@Comments: Sì, mi dispiace. Suppongo che avrei dovuto fare qualche ricerca prima ...: -/ – Eric
@Eric nel caso tu stia davvero cercando di provocare te stesso e gli altri, un sacco di dolore e sofferenza, ecco alcuni esempi di personaggi simili a X che sono identificatori validi in C#: 'int Ҳ, ҳ, א, ẋ, ẍ;' Sono sicuro che nessuno ti ringrazierà più tardi se scegli di mescolare questi caratteri nel codice sorgente. :) (Nel caso in cui non sia chiaro a chiunque stia leggendo questo ... per favore, per favore, non usare caratteri esotici come questi solo per poter avere variabili diverse con nomi dall'aspetto simile) –