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返回值
- return 任意值;
- 如何获得返回值
创建一个 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
本文来自博客园,作者:huiy_小溪,转载请注明原文链接:https://www.cnblogs.com/huiy/p/18509553