チュートリアル: Visual Studio Code を使用して .NET Core コンソール アプリケーションを作成するTutorial: Create a .NET Core console application using Visual Studio Code

このチュートリアルでは、Visual Studio Code と .NET Core CLI を使用して .NET Core コンソール アプリケーションを作成して実行する方法について説明します。This tutorial shows how to create and run a .NET Core console application by using Visual Studio Code and the .NET Core CLI. プロジェクトの作成、コンパイル、実行などのプロジェクト タスクは、.NET Core CLI を使用して実行されます。Project tasks, such as creating, compiling, and running a project are done by using the .NET Core CLI. 必要に応じて、別のコード エディターを使用してこのチュートリアルに従い、ターミナルでコマンドを実行することができます。You can follow this tutorial with a different code editor and run commands in a terminal if you prefer.

必須コンポーネントPrerequisites

  1. C# 拡張機能がインストールされている Visual Studio CodeVisual Studio Code with the C# extension installed. Visual Studio Code に拡張機能をインストールする方法については、VS Code Extension Marketplace を参照してください。For information about how to install extensions on Visual Studio Code, see VS Code Extension Marketplace.
  2. .Net Core 3.1 SDK 以降The .NET Core 3.1 SDK or later

アプリを作成するCreate the app

"HelloWorld" という名前の .NET Core コンソール アプリ プロジェクトを作成します。Create a .NET Core console app project named "HelloWorld".

  1. Visual Studio Code を開始します。Start Visual Studio Code.

  2. メイン メニューから [ファイル] > [フォルダーを開く] (macOS では [ファイル] > [開く...] ) の順に選択します。Select File > Open Folder (File > Open... on macOS) from the main menu.

  3. [フォルダーを開く] ダイアログで、HelloWorld フォルダーを作成し、 [フォルダーの選択] (macOS では [開く] ) をクリックします。In the Open Folder dialog, create a HelloWorld folder and click Select Folder (Open on macOS).

    フォルダー名は既定でプロジェクト名と名前空間名になります。The folder name becomes the project name and the namespace name by default. このチュートリアルでは後でコードを追加しますが、プロジェクト名前空間は HelloWorld にします。You'll add code later in the tutorial that assumes the project namespace is HelloWorld.

  4. メイン メニューで [表示] > [ターミナル] の順に選択して、Visual Studio Code でターミナルを開きます。Open the Terminal in Visual Studio Code by selecting View > Terminal from the main menu.

    ターミナルが開き、HelloWorld フォルダーにコマンド プロンプトが表示されます。The Terminal opens with the command prompt in the HelloWorld folder.

  5. ターミナルで、次のコマンドを入力します。In the Terminal, enter the following command:

    dotnet new console
    

このテンプレートでは、シンプルな "Hello World" アプリケーションを作成します。The template creates a simple "Hello World" application. Console.WriteLine(String) メソッドを呼び出し、"Hello World!" をIt calls the Console.WriteLine(String) method to display "Hello World!" コンソール ウィンドウに表示します。in the console window.

テンプレート コードでは、引数として String 配列を受け取る単一のメソッド Main を含む、Program というクラスが定義されます。The template code defines a class, Program, with a single method, Main, that takes a String array as an argument:

using System;

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

Main はアプリケーションのエントリ ポイントで、アプリケーションを起動するときに、ランタイムによって自動的に呼び出されるメソッドです。Main is the application entry point, the method that's called automatically by the runtime when it launches the application. アプリケーションが起動されるときに提供されるコマンドライン引数はすべて args 配列にあります。Any command-line arguments supplied when the application is launched are available in the args array.

アプリを実行するRun the app

ターミナルで次のコマンドを実行します。Run the following command in the Terminal:

dotnet run

プログラムによって "Hello World!" が表示されてThe program displays "Hello World!" 終了します。and ends.

dotnet run コマンド

アプリを拡張するEnhance the app

アプリケーションを拡張し、ユーザーに名前の入力を求め、日付と時刻と共にそれを表示するようにします。Enhance the application to prompt the user for their name and display it along with the date and time.

  1. Program.cs をクリックして開きます。Open Program.cs by clicking on it.

    Visual Studio Code で初めて C# ファイルを開くと、OmniSharp がエディターに読み込まれます。The first time you open a C# file in Visual Studio Code, OmniSharp loads in the editor.

    Program.cs ファイルを開く

  2. Visual Studio Code で、アプリのビルドとデバッグに必要なアセットの追加を求められたら、 [はい] を選択します。Select Yes when Visual Studio Code prompts you to add the missing assets to build and debug your app.

    足りない資産の入力を求める

  3. Program.csMain メソッドの内容 (Console.WriteLine を呼び出す行) を以下のコードに置き換えます。Replace the contents of the Main method in Program.cs, which is the line that calls Console.WriteLine, with the following code:

    Console.WriteLine("\nWhat is your name? ");
    var name = Console.ReadLine();
    var date = DateTime.Now;
    Console.WriteLine($"\nHello, {name}, on {date:d} at {date:t}!");
    Console.Write("\nPress any key to exit...");
    Console.ReadKey(true);
    

    このコードは、"What is your name?" とThis code displays "What is your name?" コンソール ウィンドウに表示して、ユーザーが文字列を入力して Enter キーを押すまで待機します。in the console window and waits until the user enters a string followed by the Enter key. これはこの文字列を name という変数に格納します。It stores this string in a variable named name. さらに現在の現地時刻を含む DateTime.Now プロパティの値を取得して、それを date という変数に代入します。It also retrieves the value of the DateTime.Now property, which contains the current local time, and assigns it to a variable named date. 最後に、これらの値がコンソール ウィンドウに表示されます。Finally, it displays these values in the console window.

    \n は、改行文字を表します。The \n represents a newline character.

    文字列の前にドル記号 ($) を付けると、変数名などの式を文字列で中かっこで囲むことができます。The dollar sign ($) in front of a string lets you put expressions such as variable names in curly braces in the string. 式の値が、式の代わりに文字列に挿入されます。The expression value is inserted into the string in place of the expression. この構文は、補間された文字列と呼ばれます。This syntax is referred to as interpolated strings.

  4. 変更内容を保存します。Save your changes.

    重要

    Visual Studio Code では、変更を明示的に保存する必要があります。In Visual Studio Code, you have to explicitly save changes. Visual Studio とは異なり、アプリをビルドして実行してもファイルの変更は自動的には保存されません。Unlike Visual Studio, file changes are not automatically saved when you build and run an app.

  5. もう一度プログラムを実行します。Run the program again:

    dotnet run
    
  6. プロンプトに対し、名前を入力し、Enter キーを押します。Respond to the prompt by entering a name and pressing the Enter key.

    プログラムの出力が変更されたターミナル ウィンドウ

  7. 任意のキーを押してプログラムを終了します。Press any key to exit the program.

その他の技術情報Additional resources

次の手順Next steps

このチュートリアルでは、.NET Core コンソール アプリケーションを作成しました。In this tutorial, you created a .NET Core console application. 次のチュートリアルでは、アプリをデバッグします。In the next tutorial, you debug the app.