C# 頂層語句

本文要介紹的是 C# 9 增加的 top-level statements 寫法。


👉 在 GitHub 上面閱讀


頂層語句(top-level statements)或最上層語句,指的是讓我們在程式中省略 Program 類別和 Main 方法的「外殼」,也就等於是在整個 C# 程式檔案的最外層直接撰寫陳述式。

C# 9 之前的寫法:

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine ("Hello, world");        
    }
}

C# 9 之後只要兩行:

using System;
Console.WriteLine ("Hello, world");

寫在頂層的陳述式會被編譯器視為 Main 方法的一部份,而且依然可以存取 args 參數。頂層語句也可以包含其他方法(會成為 Main 方法的區域函式)。

範例:

Hello(args.Length > 0 ? args[0] : ""); 

static void Hello(string arg)
{
    Console.WriteLine($"Hello {arg}");
}

Console.WriteLine("Hello 2"); 

如果執行時沒有傳入命令列引數,執行結果會是:

Hello
Helo 2

試試看:https://dotnetfiddle.net/htGaC9

頂層語句可以包含三種陳述式,撰寫的順序是:

  1. using 命名空間。
  2. 陳述式、函式。
  3. 自行定義的命名空間與型別。

其中只有第 2 個部分是不可或缺的。此外,如果把第 2 和 3 部分的撰寫順序顛倒,編譯器會報錯。

Happy coding!

沒有留言:

技術提供:Blogger.
回頂端⬆️