教程:使用 Visual Studio for Mac 创建 .NET 控制台应用程序

本教程演示如何使用 Visual Studio for Mac 创建和运行 .NET 控制台应用程序。

重要

Microsoft 已宣布停用 Visual Studio for Mac。 从 2024 年 8 月 31 日起,将不再支持 Visual Studio for Mac。 替代方案包括:

有关详细信息,请参阅 Visual Studio for Mac 停用公告

先决条件

创建应用

  1. 启动 Visual Studio for Mac。

  2. 在“开始”窗口中,选择“新建”。

    New button on the Visual Studio for Mac Start screen

  3. 在“新建项目”对话框中,选择“Web 和控制台”节点下的“应用”。 选择“控制台应用程序”模板,然后选择“下一步” 。

    New project templates list

  4. 在“配置新的控制台应用程序”对话框的“目标框架”下拉列表中,选择“.NET 5.0”,然后选择“下一步”。

  5. 键入“HelloWorld”作为“项目名称”,然后选择“创建” 。

    Configure your new Console Application dialog

用于创建简单的“Hello World”应用程序的模板。 它调用 Console.WriteLine(String) 方法以在终端窗口中显示“Hello World!”。

模板代码将定义类 Program,其中包含一个需要将 String 数组用作参数的方法 Main

using System;

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

Main 是应用程序入口点,同时也是在应用程序启动时由运行时自动调用的方法。 args 数组中包含在应用程序启动时提供的所有命令行参数。

运行应用

  1. (option+command+enter) 以运行应用而不进行调试。

    The terminal shows Hello World!

  2. 关闭终端窗口。

增强应用

改进应用程序,使其提示用户输入名字,并将其与日期和时间一同显示。

  1. 在 Program.cs 中,将 Main 方法的内容(是调用 Console.WriteLine 的行)替换为以下代码:

    Console.WriteLine("What is your name?");
    var name = Console.ReadLine();
    var currentDate = DateTime.Now;
    Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!");
    Console.Write($"{Environment.NewLine}Press any key to exit...");
    Console.ReadKey(true);
    

    此代码会在控制台窗口中显示一条提示,然后等待用户输入字符串并按 Enter。 它会将此字符串存储到名为 name 的变量中。 它还会检索 DateTime.Now 属性的值(其中包含当前的本地时间),并将此值赋给 currentDate 变量。 同时会在控制台窗口中显示这些值。 最后会在控制台窗口中显示一条提示,并调用 Console.ReadKey(Boolean) 方法来等待用户输入。

    NewLine 是一种独立于平台和语言的表示换行符的方式。 替代方法是在 C# 中使用 \n 和在 Visual Basic 中使用 vbCrLf

    字符串前面的美元符号 ($) 使你可以将表达式(如变量名称)放入字符串中的大括号内。 表达式值将代替表达式插入到字符串中。 此语法称为内插字符串

  2. (option+command+enter) 以运行应用。

  3. 输入名称并按 Enter,从而响应提示。

    Terminal shows modified program output

  4. 关闭终端。

后续步骤

在本教程中,你创建了一个 .NET 控制台应用程序。 在下一教程中,你将调试该应用。