"using System" 在 C# 中是什么意思?

What does "using System" mean in C#?

什么

using System;

namespace HelloWorld
{
  class Program
  {
    static void Main(string[] args)
    {
      Console.WriteLine("Hello World!");
    }
  }
}

["using System"]是什么意思?为什么没有这些行你不能开始你的代码?

它包括您可以在其中更轻松地访问 类 的命名空间。你 可以 编写没有它的代码,但你总是必须在任何时候像 System.Console.WriteLine("Hello World");.

一样明确声明它

阅读命名空间 here

这是 .NET Framework、.NET Core 和类似的 C# 版本定义程序应标记其程序开始的方式。

对于任何 < 9.0 的 C# 版本,这称为 Entry Point and must meet certain signature requirements

// tells the compiler what functions, such as Console.WriteLine that
// you're going to use or should import
using System;

// defines a class, can be named anything
class Program
{
    // defines an entry point for your program
    // must be named Main and meet certain signature requirements
    public static void Main()
    {
        Console.WriteLine("Hello World!");
    }

}

从 .NET 5.0(C# 9.0)(最新版本)开始,您实际上不必使用这种格式,只需使用未包含在 class 中的 Top Level 代码即可,并且编译器会假定这是 入口点 对于您的程序,例如:

using System;

Console.WriteLine("Hello World!");

我们在 C# 中有命名空间,我们用它来组织 类 系统是 C# 中的命名空间。 using system; 导入命名空间,您现在可以访问系统命名空间中的 类,如果没有行 using namespacename,您将无法访问其中的 类。 console 是系统命名空间中的 类 之一。

每个程序都有一个入口点(执行程序时调用的第一个方法) Main 方法是您正在创建的程序的入口点。

在 .NET 中 classes 是在命名空间中组织的,classes 是框架(内置)附带的,可帮助我们进行打印输出、访问文件系统等。 可以使用 using 关键字访问命名空间中的 classes。

例如:
要打印输出,我们需要访问包含具有 Writeline 方法的控制台 class 的系统命名空间。因此使用 using system

using System 行表示您正在项目中使用 System 库。这为您提供了一些有用的 classes 和函数,例如 Console class 或 WriteLine function/method.

namespace ProjectName 是在该名称空间中标识和封装您的代码的东西。就像 Java 中的包。这对于组织代码很方便。

class Program 是您的入口点 class 的 class 名称。与 Java 不同,它需要您将其命名为 Main,您可以在 C# 中将其命名为任何名称。

static void Main(string[] args)是你程序的入口方法。此方法在您的程序的任何内容之前被调用。

在 DotNet 5 及更高版本中,您实际上可以在没有其中一些的情况下编写程序,因为它现在支持顶级函数。