为什么我们不能在没有Method的情况下在类中使用console.write或console.writeLine

时间:2015-03-29 15:01:30

标签: c# oop

任何人都可以告诉我为什么我们不能在没有方法的类中使用 Console.WriteLine 。我试图这样做,但编译器是一个错误。我知道它错了,但只是想知道它的正当理由。

 public  class AssemblyOneClass2
    {
       Console.WriteLine("");
    }

5 个答案:

答案 0 :(得分:3)

问题不在于使用WriteLine。除了声明成员变量(和属性事件等)或函数之外,您不能将任何代码放在其中。像WriteLine的调用之类的代码属于这些函数的主体。至于原因,你什么时候会期望代码运行?我希望你不能回答这个,编译器也不能。

答案 1 :(得分:2)

方法是包含一系列语句的代码块。程序通过调用方法并指定任何必需的方法参数来执行语句。在C#中,每个执行的指令都是在方法的上下文中执行的。

因此必须在方法内部编写。否则CLR不知道何时应该执行该代码。这是C#的基础。

答案 2 :(得分:1)

类封装了构造函数,函数,字段和属性。因此,您只能在函数或构造函数中编写任何代码语句。

答案 3 :(得分:1)

    public class AssemblyOneClass2
    {
        static void Main(string[] args)
        {
            Console.WriteLine("");
        }
    }

你需要一个实际的方法来发生任何事情。上面的代码段显示了运行"Console.Writeline("");"

的正确方法

答案 4 :(得分:0)

因为Console.WriteLine("");不能(或)不是所述类AssemblyOneClass2的成员字段。

再说一点;您可以在定义类时定义成员字段(数据成员和方法),以便为该类提供某些行为以及它可以执行的所有操作。

例如:Student类包含NameCity属性

Class student
{
  public string Name {get;set;}
  public string City {get;set;}
}

只需在课堂上调用Writeline()方法即可;你认为你在定义什么行为?

即使你,将下面的班级宣言保持空洞,但仍然没有意义;目前还没有定义类的任何行为,现在它只是一种存根。

 public  class AssemblyOneClass2
    {

    }