Windowsで動くアプリを作ろうと思ったら、真っ先に候補に挙がるプログラミング言語がC#言語です。マイクロソフトが開発した言語で、Windows上で動くデスクトップアプリに加えて、Webアプリや、スマートフォンのゲーム開発など幅広く利用されています。C#という名前の通り、C/C++言語に似た構文を採用しつつも、C++言語のような難しさがなく、サクサクとプログラムを記述できます。マイクロソフトが開発している安心感から、多くの人に愛されています。

C#の生い立ち

C#は、2002年にマイクロソフトからリリースされました。その後、バージョンが上がる毎に、様々な機能が追加されます。2006年のC#2.0にてジェネリクスやyieldなどが追加、2007年のC#3.0では、型推論やラムダ式、クエリ式などが追加されました。また、C#7.0ではis式の拡張やタプル記法が追加されました。

開発されてから、17年以上が経過していますが、プログラミング言語として先端的の機能を取り込みつつ、使い勝手が良くなるように改良されていることが分かります。

.NET Frameworkとオープンソースのmono

C#の大きな特徴ですが、『.NET Framework』という実行環境の上で動きます。これは最初からWindowsにインストールされているため、C#で作ったアプリを、Windows上で手軽に動かすことができます。C#のプログラムが、中間言語のCILに変換され、.NET Framework上で実行されるのです。この仕組みは、JavaがJREという実行環境で動くのに似ています。そのため、C#とJavaはよく比較されます。

ところで、.NET Framework上で動くプログラミング言語には、C#のほか、Visual Basic.NET、F#などがあり、C#で作ったライブラリを、F#から呼び出して使うことができるようになっています。

ちなみに、C#で作ったプログラムを動かす実行環境の.NET Frameworkは、2014年にオープンソース化が発表されました。それで、Windowsだけでなく、macOSやLinuxに対応したオープンソース版が公開されています。

ただし、本家マイクロソフトとは別に、2001年に、.NET Framework互換のmonoプロジェクトが立ち上がっており、C#で作ったプログラムを、LinuxやmacOSで動かすことができていました。その後、monoはXamarin社に開発が移り、iOSやAndroidなどのスマートフォンで動作するようになりました。その後、Xamarinは2016年にマイクロソフトに買収されています。

C#をインストールしてみよう

それでは、C#をインストールして、簡単なプログラムを作ってみましょう。C#を利用するには、マイクロソフトから提供されている開発ツールのVisual Studio Codeと、.NET Core SDKのインストールが必要です。これらのツールは、Windows、Linux、macOSの各OSで実行することができます。

最初に、Visual Studio Codeをダウンロードして、インストールします。次に、.NET Coreをダウンロードして、インストールします。それぞれ、親切なインストーラーが用意されているので、迷うことはないでしょう。

上記二つをインストールしたなら、Visual Studio CodeにC#プラグインをインストールします。こちらのサイトにアクセスしたら、[INSTALL]のボタンを押しましょう。Visual Studio Codeが起動して、C#プラグインがインストールされます。

Visual Studio Codeを起動したら、メニューから「ファイル>フォルダを開く」をクリックしてワークスペースを作成しましょう。

・メニューを日本語化するには

C#プラグインをインストールしただけだと、画面が英語のままです。そこで、拡張機能より日本語パックをインストールして、メニューなどを日本語にすることもできます。画面左側メニューのアイコンの一番下にある拡張機能(MARKETPLACE)で「Japanese Language Pack」を検索しましょう。そして、日本語パックが見つかったら「install」のボタンをクリックします。アプリを再起動すると、メニューなどが日本語になります。

そして、Visual Studio Codeのメニューから「ターミナル > 新しいターミナル」をクリックします。すると、画面の下にターミナルが起動します。そこで、ターミナルに「dotnet new console」と入力します。すると、プロジェクトの雛型がダウンロードされます。

  • ターミナルにコマンドを入力するとプロジェクトが作成される

    ターミナルにコマンドを入力するとプロジェクトが作成される

雛型プロジェクトが作成されたら、Visual Studio Codeの画面左側(エクスプローラーの窓)を見てみましょう。Program.csというファイルがあります。これが、メインファイルです。そして、このプログラムは、画面に「Hello World!」と表示するものです。先ほど開いたターミナルのウィンドウへ「dotnet run」と記入して、コマンドを実行しましょう。デバッグコンソールに、Hello, World!と表示されるでしょう。

FizzBuzz問題を解くプログラムを作ってみよう

準備が整ったら、自分でプログラムを作ってみましょう。ここでは、FizzBuzz問題を解くプログラムを作ります。FizzBuzz問題とは、1から100までの数字を出力するのですが、3の倍数の時「Fizz」、5の倍数の時「Buzz」、3と5の倍数の時「FizzBuzz」と表示するものです。

Program.csを開いて、以下のように書き換えましょう。

using System;
namespace hello
{
    class Program
    {
        static void Main(string[] args) // --- (*1)
        {
            for (int i = 1; i <= 100; i++) {
                FizzBuzz(i);
            }
        }
        static void FizzBuzz(int i) { // --- (*2)
            if (i % 3 == 0 && i % 5 == 0) {
                Console.WriteLine("FizzBuzz");
            }
            else if (i % 3 == 0) {
                Console.WriteLine("Fizz");
            }
            else if (i % 5 == 0) {
                Console.WriteLine("Buzz");
            }
            else {
                Console.WriteLine(i);
            }
        }
    }
}

実行すると以下のようになります。

  • FizzBuzz問題のプログラムを実行したところ

    FizzBuzz問題のプログラムを実行したところ

プログラムを確認してみましょう。C#は、オブジェクト指向のプログラミング言語です。プログラムの中では、クラスを定義し、そのクラス内のMainメソッドがプログラムの起点となります。つまり、(*1)の部分からプログラムは実行されます。ここでは、1から100までの引数をつけて、FizzBuzzメソッドを呼び出します。(*2)のFizzBuzzメソッドでは、与えられた引数に応じて、if文で出力する内容を変更します。

C#のまとめ

以上、C#について紹介しました。C#の開発は、当初から開発環境のVisual Studioを利用することで、サクサクとコードを書いていけるので開発効率が良いものでした。今回、無料版のVisual Studio Codeを使って簡単なプログラムを作ってみましたが、C#の良さはそのままに、楽しくプログラミングできることを確認できました。筆者は、macOS上で試してみたのですが、コード補完は当然として、ブレイクポイントを設定してのデバッグ、リファクタリングまで可能で快適です。

C#は言語として強い静的型付けを採用しているため、開発環境のコード補完機能を使うことで、サクサクとプログラムを書いていくことができます。このサクサク感は、今後も、多くの開発者を魅了していくことでしょう。

自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2005年IPAスーパークリエイター認定、2010年 OSS貢献者章受賞。技術書も多く執筆している。