本講座は、C言語の知識を前提としつつ、C#独自の概念を重点的に学ぶカリキュラムです
開発環境にはVisual Studio 2022を使用します。コンソール上で実行できるプログラムを実際に作成しながら、C#について学んでいきましょう
講座は、基礎編と応用編に分け、合計14日の日程で進めます
- 基礎編: C#の基本的な文法を習得します
- 応用編: オブジェクト指向など、より実践的な内容を掘り下げます
1日目は、C#とはどのような言語かを理解した後、簡単なコンソールプログラムを実行するところまでを目標とします
C#とは?
C#とは、Microsoft社が開発した言語です
C++とJavaの長所を組み合わせたような特徴をもち、オブジェクト指向プログラミングを主に行うことができます
安全性にも優れており、自動でメモリ管理を行う機能が搭載されています。また、ハードウエアへの直接アクセスができない設計となっているため、比較的安全性の高いプログラムを作成することができます
C#で作成されるアプリケーションは幅広く、Webアプリ、デスクトップアプリ、モバイルといった業務アプリケーションや、ゲーム開発(Unityなど)などで使用されています
.NETについて
C#は.NETプラットフォーム上で動作します
.NETとは、アプリケーションの開発と実行のための環境を提供するフレームワークです。C#だけではなく、F#やVisualBasicなど様々な言語に対応しており、Webアプリ、デスクトップアプリ、モバイルアプリなど多岐にわたるアプリケーション開発を支援します
また、Windows、macOS、Linuxなど、さまざまなOSで動作するクロスプラットフォーム対応も大きな特徴です
詳細については.NET の概要 – .NET | Microsoft Learnを参照してください
開発環境について
基本的にC#を開発するときは、VisualStudioという開発ツールを使用します
2025年現在では、2022が無料でダウンロードできます
ダウンロード先:Windows、Mac、Linux 用の Visual Studio と VS Code のダウンロード
ダウンロード後、画面の説明に従って進みます
ワークロードの選択画面では、「.NETデスクトップ開発」を選択します
ソリューションの作成
VisualStudioでプログラムを開発する場合、まず、プロジェクトを作成し、ソリューション名を命名します
これは、アプリケーションを構成する大元になるもので、基本的に、製品名やアプリケーション名を付けるとよいでしょう
(1) 新しいプロジェクトの作成
VisualStudioを起動すると以下のような画面が表示されます
「新しいプロジェクトの作成」を選択します
次に、以下のような画面が表示されるので、C#の「コンソールアプリ」を選択し「次へ」ボタンを押します
プロジェクト名、場所、ソリューション名をそれぞれ入力し「次へ」ボタンを押します
追加情報のページは、とくに何もせず、「作成」ボタンを押します
以下のような画面が表示されます
Programs.csというファイルに、プログラムを記述していきます
「Hello, World!」の出力
プロジェクトを作成すると、すでにProgram.csには以下のようなプログラムが記述されています
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");これを実行(メニューのデバッグ→デバッグなしで実行)すると、コンソール画面に「Hello, World!」と出力されます
Console.WriteLine("Hello, World!");
Console.WriteLine()は、C言語のprintfとputsを合わせたような機能を持つ、非常に便利なメソッドです
指定したデータを書き込んだ後、行終端記号(改行)を標準出力ストリームに書き込みます
Console.WriteLine()は複数個の引数を受け取ることも可能で、単純な文字列だけでなく、書式指定 ({})や文字列連結 (+)を使うことができます
たとえば、以下のように記述します
Console.WriteLine("Hello, World! {0}", "Tom");実行結果
Hello, World! Tom第1引数”Hello, World! {0}”の{0}は、第2引数と対応します
第3引数がある場合、以下のように記述します
Console.WriteLine("私の名前は{0}です。{1}に住んでいます", "Tom", "東京");実行結果
私の名前はTomです。東京に住んでいます。年齢は22です。詳しい書式については、Console.WriteLine メソッド (System) | Microsoft Learnを参照してください
一方、Console.Write()という関数もあります
こちらは、指定したデータを書き込みしますが、行終端記号は出力しません
書式については、Console.WriteLine()と同様です
演習問題
- エスケープシーケンスを出力
「Hello, World!」の後に改行を加えて、自分の名前を出力してみましょう
コメント