我写了一个小代码,但发现了一些惊人的东西。我有一个班级名称学生,并且在那个班级里面声明了一个 List<> 像这样的变量名学生(与班级名称相同)
Class Students
{
private String Name;
private int Age;
public Students(){}
List<Students> Students = new List<Students>();
...
}
这里编译时错误是
'Students':成员名称不能与其封闭类型相同
但是如果我在其他类中声明相同的列表......就像
Class Students
{
private String Name;
private int Age;
public Students(){}
...
}
Class Program
{
....
List<Students> Students = new List<Students>();
Students.Add(new Students("Deb","B++"));
Students.Add(new Students("DDD", "A++"));
............
}
这工作正常。我的问题是,为什么?我们如何在其他类中创建自定义变量作为类名但不在同一个类中?任何详尽的答案都会很好,因为我想获得这方面的知识。