チュートリアル: Visual Studio を使用して .NET コンソール アプリケーションを作成する

このチュートリアルでは、Visual Studio 2022 で .NET コンソール アプリケーションを作成して実行する方法を示します。

前提条件

アプリを作成する

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

  1. Visual Studio 2022 を起動します。

  2. スタート ページで、 [新しいプロジェクトの作成] を選択します。

    Visual Studio のスタート ページで [新しいプロジェクトの作成] ボタンが選択されている

  3. [新しいプロジェクトの作成] ページで、検索ボックスに「コンソール」と入力します。 次に、言語の一覧から [C#] または [Visual Basic] を選択してから、プラットフォームの一覧から [すべてのプラットフォーム] を選択します。 [コンソール アプリケーション] テンプレートを選んでから、 [次へ] を選択します。

    フィルターが選択された状態の [新しいプロジェクトの作成] ウィンドウ

    ヒント

    .NET テンプレートが表示されない場合は、必要なワークロードが欠落しているおそれがあります。 [お探しの情報が見つかりませんでしたか?] メッセージで、 [さらにツールと機能をインストールする] リンクを選択します。 Visual Studio インストーラーが開きます。 .NET デスクトップ開発 ワークロードがインストールされていることを確認してください。

  4. [新しいプロジェクトの構成] ダイアログで、 [プロジェクト名] ボックスに「HelloWorld」と入力します。 [次へ] を選びます。

    プロジェクト名、場所、およびソリューション名のフィールドを使用して新しいプロジェクト ウィンドウを構成します

  5. [追加情報] ダイアログで、 [.NET 6 (長期的なサポート)] を選んでから、 [作成] を選択します。

    このテンプレートを使用すると、コンソール ウィンドウに "Hello World" と表示する単純なアプリケーションが作成されます。 コードは、Program.cs または Program.vb ファイルにあります。

    Console.WriteLine("Hello, World!");
    
    Imports System
    
    Module Program
        Sub Main(args As String())
            Console.WriteLine("Hello World!")
        End Sub
    End Module
    

    使用する言語で表示されていない場合は、ページの上部にある言語セレクターを変更します。

  6. C# の場合、コードは Console.WriteLine(String) メソッドを呼び出して "Hello World!" と表示するだけの行です。 コンソール ウィンドウに表示します。 Program.cs の内容を次のコードで置き換えます。

    namespace HelloWorld
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello World!");
            }
        }
    }
    
    ' This step of the tutorial applies only to C#.
    

    コードでは、String 配列を引数として受け取る単一のメソッド Main がある、Program というクラスが定義されます。 Main はアプリケーションのエントリ ポイントで、アプリケーションを起動するときに、ランタイムによって自動的に呼び出されるメソッドです。 アプリケーションが起動されるときに提供されるコマンドライン引数はすべて args 配列にあります。

    最新バージョンの C# では、最上位レベルのステートメントという新しい機能により、Program クラスと Main メソッドを省略できます。 既存の C# プログラムの多くは、最上位レベルのステートメントが使用されていないため、このチュートリアルではこの新しい機能を使用していません。 ただし、これは C# 10 で利用可能であり、プログラムで使用するかどうかはスタイルの好みの問題です。

アプリを実行する

  1. Ctrl + F5 キーを押して、デバッグなしでプログラムを実行します。

    コンソール ウィンドウが開き、"Hello World!" というテキストが 画面に出力されます。

    Hello World Press any key to continue と表示されているコンソール ウィンドウ

  2. 任意のキーを押して、コンソール ウィンドウを閉じます。

アプリを拡張する

アプリケーションを拡張し、ユーザーに名前の入力を求め、日付と時刻と共にそれを表示するようにします。

  1. Program.cs または Program.vb で、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);
    
    Console.WriteLine("What is your name?")
    Dim name = Console.ReadLine()
    Dim 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) メソッドを呼び出してユーザーによる入力を待ちます。

    Environment.NewLine は、プラットフォームに依存せず、言語に依存せずに、改行を表す方法です。 代替手段は、C# では \n、Visual Basic では vbCrLf です。

    文字列の前にドル記号 ($) を付けると、変数名などの式を文字列で中かっこで囲むことができます。 式の値が、式の代わりに文字列に挿入されます。 この構文は、補間された文字列と呼ばれます。

  2. Ctrl + F5 キーを押して、デバッグなしでプログラムを実行します。

  3. プロンプトに対し、名前を入力し、Enter キーを押します。

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

  4. 任意のキーを押して、コンソール ウィンドウを閉じます。

その他のリソース

次のステップ

このチュートリアルでは、.NET コンソール アプリケーションを作成しました。 次のチュートリアルでは、アプリをデバッグします。

このチュートリアルでは、Visual Studio 2019 で .NET コンソール アプリケーションを作成して実行する方法を示します。

必須コンポーネント

アプリを作成する

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

  1. Visual Studio 2019 を起動します。

  2. スタート ページで、 [新しいプロジェクトの作成] を選択します。

    Visual Studio のスタート ページで [新しいプロジェクトの作成] ボタンが選択されている

  3. [新しいプロジェクトの作成] ページで、検索ボックスに「コンソール」と入力します。 次に、言語の一覧から [C#] または [Visual Basic] を選択してから、プラットフォームの一覧から [すべてのプラットフォーム] を選択します。 [コンソール アプリケーション] テンプレートを選んでから、 [次へ] を選択します。

    フィルターが選択された状態の [新しいプロジェクトの作成] ウィンドウ

    ヒント

    .NET テンプレートが表示されない場合は、必要なワークロードが欠落しているおそれがあります。 [お探しの情報が見つかりませんでしたか?] メッセージで、 [さらにツールと機能をインストールする] リンクを選択します。 Visual Studio インストーラーが開きます。 .NET Core クロスプラットフォーム開発 ワークロードがインストールされていることを確認してください。

  4. [新しいプロジェクトの構成] ダイアログで、 [プロジェクト名] ボックスに「HelloWorld」と入力します。 [次へ] を選びます。

    プロジェクト名、場所、およびソリューション名のフィールドを使用して新しいプロジェクト ウィンドウを構成します

  5. [追加情報] ダイアログで、 [.NET 5.0 (Current)] を選んでから、 [作成] を選択します。

    [追加情報] ダイアログ

このテンプレートでは、シンプルな "Hello World" アプリケーションを作成します。 Console.WriteLine(String) メソッドを呼び出し、"Hello World!" を コンソール ウィンドウに表示します。

テンプレート コードでは、引数として String 配列を受け取る単一のメソッド Main を含む、Program というクラスが定義されます。

using System;

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

Module Program
    Sub Main(args As String())
        Console.WriteLine("Hello World!")
    End Sub
End Module

Main はアプリケーションのエントリ ポイントで、アプリケーションを起動するときに、ランタイムによって自動的に呼び出されるメソッドです。 アプリケーションが起動されるときに提供されるコマンドライン引数はすべて args 配列にあります。

使用する言語で表示されていない場合は、ページの上部にある言語セレクターを変更します。

アプリを実行する

  1. Ctrl + F5 キーを押して、デバッグなしでプログラムを実行します。

    コンソール ウィンドウが開き、"Hello World!" というテキストが 画面に出力されます。

    Hello World Press any key to continue と表示されているコンソール ウィンドウ

  2. 任意のキーを押して、コンソール ウィンドウを閉じます。

アプリを拡張する

アプリケーションを拡張し、ユーザーに名前の入力を求め、日付と時刻と共にそれを表示するようにします。

  1. Program.cs または Program.vb で、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);
    
    Console.WriteLine("What is your name?")
    Dim name = Console.ReadLine()
    Dim 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) メソッドを呼び出してユーザーによる入力を待ちます。

    Environment.NewLine は、プラットフォームに依存せず、言語に依存せずに、改行を表す方法です。 代替手段は、C# では \n、Visual Basic では vbCrLf です。

    文字列の前にドル記号 ($) を付けると、変数名などの式を文字列で中かっこで囲むことができます。 式の値が、式の代わりに文字列に挿入されます。 この構文は、補間された文字列と呼ばれます。

  2. Ctrl + F5 キーを押して、デバッグなしでプログラムを実行します。

  3. プロンプトに対し、名前を入力し、Enter キーを押します。

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

  4. 任意のキーを押して、コンソール ウィンドウを閉じます。

その他のリソース

次のステップ

このチュートリアルでは、.NET コンソール アプリケーションを作成しました。 次のチュートリアルでは、アプリをデバッグします。

このチュートリアルは、.NET 5 と .NET 6 でのみ使用できます。 ページ上部のこれらのオプションのいずれかを選択します。