3.1 C# 程序的基本结构

3.1.1.实例

讲C#程序中基本结构,我们用一个实际的例子。

using System; // 命名空间声明​
namespace HelloWorldApp // 命名空间
{
   class Program // 类
  {
       // Main方法 - 程序入口点
       static void Main(string[] args)
      {
           // 输出信息到控制台
           Console.WriteLine("Hello, World!");
      }
  }
}

3.1.2.命名空间 (Namespace)

什么是命名空间?
我们先说一下命名空间的作用:分门别类,方便查找和使用
在家里,我们有不同的房间,有厨房、卫生间、卧室、客厅、书房等,我们会把菜刀、砧板、碗筷等炊具放到厨房,同样我们会把床、衣柜、梳妆台等放到卧室,但应该没有人会把马桶刷放到厨房吧,也不会把盛汤的碗丢到枕头旁边吧!我们这样做的目的就是分门别类,防止不同的东西混淆和冲突。这样做的好处就是,我想尿尿,我知道我要去找卫生间,肚子饿的时候我知道去厨房找吃的。
同样的,在编程中命名空间就像厨房、卫生间、客厅一样,它把具有相同属性的类、方法、成员变量等放在同一个命名空间之下,方便我们在后续需要使用这些元素时,我知道去哪个命名空间中找哪个类、哪个方法。

我们举一个通俗的例子:
假设你有三个箱子,每个箱子里放着不同类型的玩具:
第一个箱子:玩具汽车
第二个箱子:积木
第三个箱子:洋娃娃
每个箱子就像一个命名空间,它们帮助你把不同类型的玩具组织在一起,这样你就不会把汽车和积木混在一起。

// 汽车的命名空间
namespace Cars
{
   class ToyCar
  {
       public void Drive()
      {
           Console.WriteLine("The car is driving.");
      }
  }
}
​
// 积木的命名空间
namespace Blocks
{
   class BuildingBlock
  {
       public void Stack()
      {
           Console.WriteLine("The blocks are stacked.");
      }
  }
}
​
// 洋娃娃的命名空间
namespace Dolls
{
   class Doll
  {
       public void Play()
      {
           Console.WriteLine("The doll is being played with.");
      }
  }
}
​
class Program
{
   static void Main(string[] args)
  {
       // 使用命名空间中的类
       Cars.ToyCar car = new Cars.ToyCar();
       car.Drive();
​
       Blocks.BuildingBlock block = new Blocks.BuildingBlock();
       block.Stack();
​
       Dolls.Doll doll = new Dolls.Doll();
       doll.Play();
  }
}

在 Main 方法中,我们使用了三个命名空间中的类,每个类都执行了它们各自的功能。这就像你打开不同的箱子,取出里面的玩具来玩,每个玩具都有自己的特性和功能。

3.1.3.命名空间声明 (Namespace declaration)

如果每次使用命名空间中的类都如下:

Cars.ToyCar car = new Cars.ToyCar();
Blocks.BuildingBlock block = new Blocks.BuildingBlock();
Dolls.Doll doll = new Dolls.Doll();


这样太累了,我们的命名空间就没有意义了,因此,我们需要对命名空间进行引用,怎么引用呢?我们来看下面这个例子:

//引用命名空间
using Cars;
using Blocks;
using Dolls;
​
//省略命名空间的名字
ToyCar car = new Cars.ToyCar();
BuildingBlock block = new Blocks.BuildingBlock();
Doll doll = new Dolls.Doll();

上面这个例子,在使用命名空间中的类时,因为我们已经声明过命名空间,实例化类时就可以不写命名空间。

3.1.4.类 (Class)

class Program:定义一个名为 Program 的类,我们一般都把主函数放到Program类里面,当然放到其他类中也没有问题

static void Main(string[] args):Program类中的一个静态方法 ,这是 C# 程序的入口点。每个 C# 控制台应用程序都必须有一个 Main 方法。static 关键字表示这个方法是属于类而不是类的实例的。void 表示这个方法没有返回值。注意:即使是新的语法使用顶级语句,我们看不到main方法,其实并不是main方法不存在了,只不过是编译器给我们添加了一个语法糖,当反编译时,仍然有main方法。

输出信息 (Console Output):
Console.WriteLine(“Hello, World!”),调用 Console 类的 WriteLine 方法,将 “Hello, World!” 输出到控制台。

3.1.5.补充内容

在实际的 C# 程序中,还可能包括以下内容:

注释 (Comments)
// 这是单行注释
​
/*
  这是多行注释
*/
成员变量 (Member Variables)和成员方法
class Example
{
   int number; // 成员变量
   void DisplayMessage()//成员方法
      {
           Console.WriteLine("This is a member method.");
      }
}

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部