「C#はどのようなプログラミング言語なんだろう」「C#で何が作れるんだろう」と感じていませんか。
C#の特徴や作れるものを知ることで、いまのあなたが学ぶべきプログラミング言語かどうかを判断できるようになります。
そこで今回は、
• C#とは
• C#で作れるものの例
• C#の環境構築手順
という流れで、C#についての情報をまとめて解説します。
記事の後半で、C#を学ぶためのおすすめの参考書や学習サイトも紹介しています。「C#について知り、必要ならさっそく学習を開始したい」という方は、ぜひ最後までお読みください。
1. C#とはどんなプログラミング言語?
まずは、C#の概要や特徴を見ていきましょう。
1.1 C#の概要・バージョン
「C#(シーシャープ)」は、Microsoft社によって開発されたプログラミング言語です。C言語やC++から派生した、オブジェクト指向型の言語として開発されました。
オブジェクト指向型とは、モノ(オブジェクト)の作成と操作という考え方でプログラムを構築することで、独立性・再利用性・拡張性を実現できる手法です。
C#をはじめるには、Microsoft社の統合開発環境(IDE)である「Visual Studio」をインストールします。統合開発環境とは、開発に必要な機能を1つにまとめたソフトウェアです。Visual Studioを使えば、C#でプログラミングをするための環境を簡単に整えられます。
C#には公式のリファレンス(参考資料)があります。C#を学ぶときには参考にしましょう。なお、C#の最新バージョンは11です。(2023年6月時点)
Visual Studio 公式サイト | https://visualstudio.microsoft.com/ja/downloads/ |
---|---|
C# リファレンス | https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/ |
C# 最新バージョン | C#11
(https://learn.microsoft.com/ja-jp/dotnet/csharp/whats-new/csharp-11) |
1.1.1 C#の動作環境(Windows/.NET Framework)
C#の動作環境は、基本的にWindowsの.NET Frameworkを選びます。いずれもMicrosoft社製で、親和性が高く扱いやすいためです。
なお、Windows8以降は.NET Frameworkが標準搭載されています。C#プログラミングをスムーズに始めることが可能です。
1.1.2 C#の動作環境(Mac)
C#の動作環境としてMacを使用する場合、「Mono」という.NET Framework互換ライブラリをインストールすることで代用できます
Monoは、.Net FrameworkをUnix系とLinux系のOSで使用できるように変換したものです。
Visual Studio 2022 for MacでサポートされるOSとハードウェアは以下になります。
サポートされるOS | ・macOS Ventura 13.0 以降 ・macOS Monterey 12.0 以降 ・macOS Big Sur 11.0 以降 |
---|---|
ハードウェア | ・1.8 GHz 以上の 64 ビット プロセッサ。デュアルコア以上を推奨 ・4 GB の RAM (8 GB の RAM を推奨) (仮想マシン上で実行される場合は最小 4 GB) ・必要なハード ディスク領域:2.2 GB 以上から最大 13 GB ・1280 x 800 以上の画面解像度 |
1.2 C#の特徴
C#の特徴として以下が挙げられます。
• オブジェクト指向言語である
• .NETシステムで稼働するアプリケーションを構築できる
• さまざまなアプリケーションを開発でき汎用性が高い
さらに、C言語・C++との違いからC#の特徴をご説明します。
1.2.1 C#とC言語の違い・関係性
C#とC言語の違いは以下の通りです。
言語 | 特徴 | 作れるもの |
---|---|---|
C# | ・.NET Framework上で動作する ・実行速度が遅い ・難易度が低い ・初心者のプログラミング学習に適している ・オブジェクト指向 |
・Webアプリケーション ・モバイルアプリケーション ・ゲーム/MR(VR/AR) |
C言語 | ・コンパイラ方式 ・実行速度が速い ・難易度が高い ・言語として歴史が長い ・プログラミングの基礎を学ぶのに適している |
・組み込みシステム ・OS ・ソフトウェア |
両者の関係性として、C言語からC++が開発され、C++とJavaからC#が開発されています。
1.2.2 C#とC++の違い・関係性
C#とC++の違いは以下の通りです。
言語 | 特徴 | 作れるもの |
---|---|---|
C# | ・実行速度が遅い ・難易度が低い ・C言語と互換性がない |
・Webアプリケーション ・モバイルアプリケーション ・ゲーム/MR(VR/AR) |
C++ | ・実行速度が速い(C言語と同程度) ・難易度が高い ・C言語と互換性がある |
・大規模な業務システム ・IoT向けソフトウェア ・データ解析/統計 |
両者の関係性として、C++とJavaからC#が開発されています。
2. C#で作れるものの例
C#で作れるものの例として、以下の3つをご紹介します。
• Webアプリケーション開発
• モバイルアプリケーション開発
• ゲーム開発・MR(VR/AR)開発
2.1 Webアプリケーション開発
C#と「ASP.NET」というフレームワークを使うことで、WEBアプリケーションを開発できます。
ASP.NETは、Microsoft社が提供しているWebアプリケーション開発のためのフレームワークです。特定のOS環境に依存せず、あらゆるWebアプリケーションを開発できます。
ASP.NETは.NET Frameworkに搭載されています。Visual Studioと組み合わせることで、Webの技術に詳しくない人でも、高機能なWebアプリケーションを開発可能です。
2.2 モバイルアプリケーション開発
C#と「Xamarin」という開発環境を使うことで、iOSアプリやAndroidアプリといったモバイルアプリケーションを開発できます。
Xamarinは、Windows上でiOSやAndroidといった異なるOS向けのソフトウェアを開発できるクロスプラットフォーム開発環境です。
XamarinはVisual Studioに搭載されているので、スムーズに使い始められます。Xamarinを使えば、C#でiOSアプリやAndroidアプリを開発可能です。
2.3 ゲーム開発・MR(VR/AR)開発
C#と「Unity」というゲームエンジンを使うことで、ゲームを開発できます。最近注目が集まっているMR(複合現実)・VR(仮想現実)・AR(拡張現実)の技術を用いたゲーム開発も可能です。
さらにUnityを使えば、iOSアプリやAndroidアプリも開発できます。
MR・VR・ARの分野は今後も発展が見込める成長分野のため、開発に必要なC#を習得しておくと活躍できるでしょう。
3. C#に関連するITエンジニア求人の動向
C#に関連するITエンジニア求人の動向について、プロエンジニアに掲載されている案件をもとにご紹介します。
出典:【C#】アプリ開発エンジニア★Windowsデスクトップアプリ開発|プロエンジニア
Windowsデスクトップ上で動作するアプリの開発業務の案件です。月額単価は70万円~80万円となっています。
出典:【Unity(C#)】ゲームエンジニア★オンライン3Dゲーム開発・運用|プロエンジニア
主な業務内容は、ユニティを利用したゲーム開発/テスト/運用、ゲーム内UIの実装、3Dキャラモデルを用いた戦闘システムの実装です。月額単価は60万円~80万円となっています。
4. C#で「Hello,World」を表示するには?環境構築手順
ここでは、「Visual Studio Community」を使用したC#の環境構築と「Hello,World」を表示する手順を解説します。
Visual Studio Communityは、Visual Studioの無償版です。Visual Studio Communityはこちらからダウンロードしてください。
■ 補足:画面スクリーンショットについて
以降はVisual Studio 2019 for Macの画面ですが、Visual Studio 2022 for Mac や Windowsで環境構築する場合も基本的な手順は同じです。
まずは、「Visual Studio Community」を開きます。「新規」をクリックして「新しいプロジェクト」を開きましょう。
新しいプロジェクトのウィンドウが開きます。左のメニューから「アプリ」をクリックすると表示される「コンソールアプリケーション」を選択して、「次へ」をクリックします。
対象のフレームワークを選択する画面になります。ここは初期表示のままで、「次へ」をクリックします。(例:Visual Studio 2022 の場合、初期表示は「.Net 6.0」)
プロジェクト名と場所を決めます。任意のプロジェクト名、場所で問題ありません。今回は、プロジェクト名を「helloworld」、場所を「/Users」にしました。ここで指定した場所に新規プロジェクトが作成されます。「作成」をクリックしましょう。
新規プロジェクト「helloworld」が作成されました。「Program.cs」のタブが開かれている状態になります。
「Program.cs」を下記のように書き換え、「ファイル>保存」をクリックします。「Console.WriteLine();」は()内の要素を出力する命令です。「Console.WriteLine(“Hello,World!”);」と記述することで、「Hello,World」と出力できます。
using System;
namespace helloworld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello,World");
Console.ReadKey(true);
}
}
}
「▶︎」ボタンをクリックすると実行されます。「ターミナルーhelloworld」をクリックし、ターミナルに「Hello,World」と出力できていれば成功です。
5. C#のおすすめ参考書・技術書
C#の学習におすすめの参考書・技術書として『確かな力が身につくC#「超」入門』があります。
本書ははじめてプログラミングを学ぶ初心者を対象に、C#の基礎からオブジェクト指向、アプリケーションの作り方までをやさしく解説した参考書です。
以下の章立てで構成された内容となってます。
• Chapter1 イントロダクション
• Chapter2 開発環境の準備
• Chapter3 C#の文法
• Chapter4 オブジェクト指向
• Chapter5 Visual C#の使い方
• Chapter6 Windowsアプリケーションの作成
著者の北村 愛美氏は、IT企業の研究職を経て、現在は執筆やイラスト制作をしています。主な著書として『Unity5の教科書』が有名です。
C#の学習におすすめの参考書・技術書についてさらに詳しく知りたい方は、以下の記事も参考にしてみてください。
6. C#のおすすめ学習サイト
C#を学ぶのにおすすめの学習サイトとして以下の2つをご紹介します。
◆ ドットインストール
「ドットインストール」は、3分間の動画でプログラミングを学べる学習サイトです。さまざまな講座があり、基本的な内容は無料で学べます。「C#入門」の講座は有料ですが、月額1,080円(税込)とリーズナブルなのでおすすめです。
◆ ++C++; // 未確認飛行 C
「++C++; // 未確認飛行 C」は、C#・情報工学を中心とした学習サイトです。運営者による勉強用のページとブログがあります。テキストで体系的にまとめられていることが特徴です。
7. まとめ
今回は、
• C#とは
• C#で作れるものの例
• C#の環境構築手順
という流れで、C#について解説しました。
C#はゲーム開発で特に活用されており、成長分野のMR・VR・ARでも需要があるプログラミング言語です。
C#関連のフリーランス求人や案件は多く、今後さらに需要が高まる見込みとなっています。
今回ご紹介した内容を参考に、C#の案件動向や月額単価を把握し、今後のキャリアに活かしてくださいね。