C#学习 [程序结构] Main() 和命令行参数 (8)

概述

C# 程序中只能有一个入口点。 如果多个类包含 Main 方法,必须使用 StartupObject 编译器选项来编译程序,以指定将哪个 Main 方法用作入口点。

class TestClass
{
    static void Main(string[] args)
    {
        // Display the number of command line arguments.
        Console.WriteLine(args.Length);
    }
}
<StartupObject>MyNamespace.Program</StartupObject>

常见的 Main 声明:

  • static void Main()
  • static int Main()
  • static void Main(string[] args)
  • static int Main(string[] args)
  • static async Task Main()
  • static async Task Main()
  • static async Task Main(string[] args)
  • static async Task Main(string[] args)

Main声明注意事项

  • Main 方法是可执行程序的入口点,也是程序控制开始和结束的位置。
  • Main 必须在类或结构中进行声明。 封闭 class 可以是 static。
  • Main 必须为 static。
  • Main 可以具有任何访问修饰符(file 除外)。
  • Main 的返回类型可以是 void、int、Task 或 Task

args 数组不能为 null。 因此,无需进行 null 检查即可放心地访问 Length 属性。

参数处理

  • long num = Int64.Parse(args[0]);
  • long num = long.Parse(args[0]);
  • long num = Convert.ToInt64(s);
    更复杂的处理,可以使用 System.CommandLine 库

Main返回值

  1. return 任意值;
  2. 如何获得返回值
    创建一个 PowerShell 脚本来运行应用程序并显示结果。 将以下代码粘贴到文本文件中,并在包含该项目的文件夹中将其另存为 test.ps1。 可通过在 PowerShell 提示符下键入 test.ps1 来运行 PowerShell 脚本。
dotnet run
if ($LastExitCode -eq 0) {
    Write-Host "Execution succeeded"
} else
{
    Write-Host "Execution Failed"
}
Write-Host "Return value = " $LastExitCode

手动编译与运行

dotnet build
dotnet run 
// 添加运行时入参
dotnet run -- 3
posted @ 2024-10-28 14:25  huiy_小溪  阅读(3)  评论(0编辑  收藏  举报