相关疑难解决方法(0)

为什么不能在嵌套的本地范围中声明重复的变量名?

根据最近的这个问题,我不明白提供的答案.看起来你应该可以做这样的事情,因为它们的范围不重叠

static void Main()
{
  {
    int i;
  }
  int i;
}
Run Code Online (Sandbox Code Playgroud)

此代码无法编译,并出现以下错误:

名为"i"的局部变量不能在此范围内声明,因为它会给"i"赋予不同的含义,"i"已在"子"范围内用于表示其他内容

.net c#

50
推荐指数
3
解决办法
2万
查看次数

为什么C#不允许我在不同的范围内使用相同的变量名?

例如:

if ( this.IsValid )
{
    Matrix matrix = new Matrix();
}

Matrix matrix = new Matrix();
Run Code Online (Sandbox Code Playgroud)

编译器警告我说:

"名为' matrix'的局部变量不能在此范围内声明,因为它会给' matrix' 赋予不同的含义,' '已在'子'范围内用于表示其他内容.

这些变量不是在不同的范围内,所以我无法matrix从if语句外部访问第一个吗?

.net c# compiler-construction

15
推荐指数
3
解决办法
7539
查看次数

标签 统计

.net ×2

c# ×2

compiler-construction ×1