KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I've been wondering why in C# using a variable name used previously in a child scope is not allowed. Like this: if (true) { int i = 1; } int i = 2; Compiling the above code produces an error: A local variable named 'i' cannot be declared in this scope because it would give a different meaning to 'i', which is already used in a 'child' scope to denote something else And yet you can't use the variable defined in child scope either. The code above works just fine in Java and I can see no reason why it doesn't in C# too. I'm sure there's a good reason, but what is it?
Tags (comma-separated)
Save Edits
Cancel