不能完全理解类的工作方式
class Class1{
private int a;
for(a=0;a<10;a++){}
// how can a be out of scope?
}
以及我为什么可以这样做
class Class1{
private int a;
void tera()
{
private string aiha="lk"; //commenting this out ,makes it work why??
for(a=0;a<10;a++){}
}
}
第一部分:一个类只能有方法和字段吗?为什么?
第二部分:不能有声明的方法吗?
我知道这可能是一个不好的解释,但是我不能把头缠住。
答案 0 :(得分:0)
对于第一部分,您尚未定义方法名称,因此它无法正常工作,您不能在不声明方法的情况下将方法的主体放置在类中。
class Class1{
private int a = 0;
void Example() {
for(a=0;a<10;a++){}
}
}
会工作
对于第二部分,这是没有意义的,因为变量仅在方法的作用域内可用,因此为其赋予修饰符是毫无意义的。
您可以阅读有关类here的更多信息,但基本上,它是一组成员和方法,通常在每次创建该类的实例时都会使用它们。
答案 1 :(得分:0)
第一。
(类是.NET Framework的基本结构。)
由于它是面向对象的,因此只能包含 MEMBERS 之类的方法,字段,常量,属性和事件作为单个单元。 (注意:成员也必须在类型内声明)。
第二
在C#中,没有某些其他语言中的全局变量或方法。
并且我认为由于c#将方法视为单个对象,因此您无法尝试对其变量进行不同的访问,它将认为您正在尝试为该类创建另一个成员。