Duplicar posibles:
Child Scope & CS0136
C# Variable Scoping¿Cómo funciona Local-Alcance El trabajo en C#
Aunque he estado usando C# desde hace bastante tiempo, acabo de tropezado con este error .
Si tengo el siguiente:
if(true)
{
int x = 0;
}
int x = 0;
me sale un error que 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.
Y si hago esto:
if(true)
{
int x = 0;
}
x = 0;
consigo un error que dice: The name 'x' does not exist in the current context.
Puedo entender tener uno u otro, pero ¿por qué? ¿ambos de estos errores existen? ¿Hay alguna forma de evitar la primera opción? Me resulta muy molesto.
Gracias.
ver http://stackoverflow.com/a/296780/870604 – ken2k
@Comments: Sí, lo siento. Supongo que debería haber hecho una búsqueda primero ...: -/ – Eric
@Eric por si realmente estás buscando causar a ti mismo, y a otros, mucho dolor y sufrimiento, aquí hay algunos ejemplos de personajes tipo x que son identificadores válidos en C#: 'int Ҳ, ҳ, א, ẋ, ẍ;' estoy seguro de que nadie le agradecerá más adelante si elige mezclar estos caracteres en su código fuente. :) (En caso de que no esté claro para cualquiera que lea esto ... por favor no use caracteres exóticos como estos para que pueda tener diferentes variables con nombres similares) –