c#类作用域和对象创建

时间:2019-02-09 22:21:05

标签: c#

不能完全理解类的工作方式

 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++){}
               }
             }

第一部分:一个类只能有方法和字段吗?为什么?

第二部分:不能有声明的方法吗?

我知道这可能是一个不好的解释,但是我不能把头缠住。

2 个答案:

答案 0 :(得分:0)

对于第一部分,您尚未定义方法名称,因此它无法正常工作,您不能在不声明方法的情况下将方法的主体放置在类中。

class Class1{
      private int a = 0;
      void Example() {
         for(a=0;a<10;a++){}
       }

             }

会工作

对于第二部分,这是没有意义的,因为变量仅在方法的作用域内可用,因此为其赋予修饰符是毫无意义的。

您可以阅读有关类here的更多信息,但基本上,它是一组成员和方法,通常在每次创建该类的实例时都会使用它们。

答案 1 :(得分:0)

第一。

(类是.NET Framework的基本结构。)

由于它是面向对象的,因此只能包含 MEMBERS 之类的方法,字段,常量,属性和事件作为单个单元。 (注意:成员也必须在类型内声明)。

第二

在C#中,没有某些其他语言中的全局变量或方法。

并且我认为由于c#将方法视为单个对象,因此您无法尝试对其变量进行不同的访问,它将认为您正在尝试为该类创建另一个成员。