TOC

This article has been localized into Chinese by the community.

入门指南:

Hello world 讲解

在之前的章节,我们试着用我们的第一个C#应用向控制台写了一段文本。为了看到一些实际成果,我们没有深入每一行用到的代码,所以这个章节将解释Hello world例子中所用的代码。如你所见,有些代码看起来很相似,所以我们会放在一起逐个说明。让我们从最短,最常见的字符开始:“{” 和 “}”,即大括号,或花括号(curly braces)。在C#中,它们表示一个逻辑代码块的开始和结束。花括号也被用在其他很多语言中,包括C++,Java,JavaScript等等。它们将多行互为一体的代码包装起来。在之后的例子里,你将会理解它们的用法。

让我们从头开始:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using是一个关键字,在编辑器中被高亮蓝色。我们使用关键字using来引用一个命名空间,这里命名空间其实是类的集合。类给我们提供了相应的功能。当使用高级IDE比如Visual Studio时,IDE通常会为我们生成部分关键代码。在这个例子中,它为我们创建了一个类同时引用了常用的5个命名空间。每个命名空间都包含一些有用的类。比如说,我们用到的Console类就是System命名空间的一部分。

另一方面,我们还没有真正使用System.Linq命名空间(在本例中),所以如果你有洁癖,你可以选择删除这一行,这不会有什么影响。

如您所见,我们甚至有自己的命名空间:

namespace ConsoleApp1

命名空间ConsoleApp1现在是此应用程序的主命名空间,默认情况下新类将成为其中的一部分。 显然,您可以更改它,并在另一个命名空间中创建类。 在这种情况下,您必须使用using语句引用此新命名空间以在应用程序中使用它,就像任何其他命名空间一样。

接下来,我们定义我们的类。 由于C#是一种面向对象的语言,实际执行某些操作的每一行代码都包含在一个类中。 在这个例子里,这个类的名字是Program:

class Program

即使在同一个文件中,我们也可以有多个类。 现在,我们只需要一个类。 一个类可以包含几个变量,属性和方法,我们将在后面深入介绍这些概念。 现在,您需要知道的是,我们当前的类只包含一个方法而不包含任何其他方法。 它的声明如下:

static void Main(string[] args)

这一行可能是这个例子中最复杂的一行,所以让我们把它分开来讲。 第一个词是static。 static关键字表示这个方法可以在不实例化类的情况下访问,关于类的章节中有更多相关内容。

下一个关键字是void,告诉我们这个方法应该返回什么。 例如,它可以是整数或字符串,但在这种情况下,我们不希望我们的方法返回任何内容(C#使用关键字void来表示)。

下一个单词是Main,它是我们方法的名称。 这个方法是我们应用程序的入口点,也就是要执行的第一段代码,在我们的例子中,是唯一要执行的代码。

现在,在方法名称之后,可以在一组括号中指定一组参数。 在我们的示例中,我们的方法只接受一个名为args的参数。 参数的类型是一个字符串,或者更准确地说,是一个字符串数组,但稍后会更多。 如果您考虑一下,这是完全合理的,因为Windows应用程序总是可以使用一组可选参数进行调用。 这些参数将作为字符串传递给main方法。

就是这样。 您现在应该对我们的第一个C#应用程序有基本的了解,以及使控制台应用程序工作的基本原理。