Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#中,将方法封装在此类中的目的是什么?_C#_Oop_Programming Languages_Methods - Fatal编程技术网

在C#中,将方法封装在此类中的目的是什么?

在C#中,将方法封装在此类中的目的是什么?,c#,oop,programming-languages,methods,C#,Oop,Programming Languages,Methods,我是C#的新手。将main()方法放在“类”中的目的是什么。 不会为此“所谓”类创建任何对象。我不知道他们为什么把整个程序看作类和方法。还有,为什么main()函数被称为方法?显然,它在类中,但我总是把它称为函数。像这样: using System; public class MyApp // What is the purpose of this class? { public static void main() // Why is this called a method &

我是C#的新手。将main()方法放在“类”中的目的是什么。 不会为此“所谓”类创建任何对象。我不知道他们为什么把整个程序看作类和方法。还有,为什么main()函数被称为方法?显然,它在类中,但我总是把它称为函数。像这样:

using System;
public class MyApp // What is the purpose of this class?
{
  public static void main() // Why is this called a method & not a function when no objects use it?
  {
    //Statements Here
  }
}
在C#中,没有纯(裸)函数;所有可执行代码都存在于类的上下文中。类的可执行成员(函数)称为方法。这只是语言中定义事物的方式

这是当今面向对象编程的标准;您可能需要对它进行更多的研究。

u必须有一个
main()
方法才能运行
此外,您还可以使用自己的
void main()
创建多个独立类,以便在vb中测试该类

,它们将函数与子例程区分开来。在c#中,如果它的返回值不是void,则该方法可以被视为类似于vb中的函数。由于没有word方法,因此如果名称main位于类构造中并且构造正确,则该名称将被视为方法。启动方法构造的东西是{您只能在以void作为返回类型的主方法中返回void,或者在任何点仅返回类型,它将立即转到主方法构造的末尾…}

将main()方法放在“类”中的目的是什么

C#是一种面向对象的语言。也就是说,每个方法都必须属于一个类

不会为此“所谓”类创建任何对象

请考虑这段完全有效的代码

类Dog具有一些功能、权重、名称等。它还包含一个main方法,从中可以创建和使用Dog类的多个实例

main方法只是一个特殊的方法,应用程序将从这里加载

public class Dog
{
    int weight;
    int name;

    public static void main (string[] args)
    {
        Dog myDog = new Dog();
        myDog.weight = 15;
        myDog.name = "Fido";

        Console.WriteLine("MyDog Name: {0} Weight: {1}", myDog.weight, myDog.name);

        Dog bigDog = new Dog();
        bigDog.weight = 100;
        bigDog.name = "Beethoven";

        Console.WriteLine("BigDog Name: {0} Weight: {1}", bigDog.weight, bigDog.name);
    }
}
还有,为什么main()函数被称为方法


函数/方法相同…

从技术上讲,函数是返回值的东西。在过程编程的上下文中,这个词的意思有点松散,函数可能会产生副作用,而实际上不会产生任何价值(这可以说是滥用了这个词)。术语“method”的含义是中性的,因此您可以将其称为方法或过程(没有返回值的方法),而不是函数。我看了一下Objective-C,没有想到将main()方法放在类中。我只是有点困惑这门课的意义是什么。不会为此类创建任何实例。您能在没有任何实例的情况下进一步解释该类的用途吗?有趣的是,这不是.NET限制。CLR允许您在程序集模块的上下文中定义“全局方法”。我猜这主要是为了与VB兼容。对于C#,他们选择消除方法定义的额外范围。您仍然可以使用
global::
@ispeakcode从C#访问此作用域,静态类用于对特定命名作用域中的相关方法进行概念性分组,例如“Math”静态类。另一种方法是在命名空间作用域中使用“静态”函数,但当您开始使用
命名空间时,这会很快导致数百个实用程序函数污染活动作用域。@Dan Bryant用一个类包围main()方法的目的是因为您可以用不同的类拥有多个main()方法。创建程序时只能运行一个main()方法,但可以在运行时指定类。我理解正确吗?@ispeakcode,这实际上是可能的,但这不是主要目的。主要目的是帮助组织复杂性(这是大多数语言功能的主要目的)。将Main()放在类中只是C#中关于如何完成组织的决策的副作用。