講義メモ ・オリエンテーション ・テキスト1,2章 p.2 C#でなにができるのか(補足) ・C#は複数の開発形態を提供している ①コンソールアプリケーション:コマンドインターフェースを用いる基本的形態(この講座で利用) ②フォームアプリケーション:グラフィックやマウスなどのポインティングディバイスを利用できる形態(応用コースで利用) ③サーバアプリケーション:Webサーバ上で動作するネットワークプログラム用 ④他システム連携:Unityなどと連携して動作する ・Windowsでは.NETフレームワークという開発環境の一部であり、Visual Studioと共に無償提供されている。 ・他のOS用のC#もある p.3 オブジェクト指向のメリット(補足) ・要点をまとめると3つのテーマ「グループ開発」「再利用」「部品化」を容易にする仕掛け。 ・なお、カプセル化はp.166で、継承はp.223で、多態性はp.232で後述するので、流し読みでOK p.6 プログラムができるまで(補足) ・C#の開発環境Visual Studioでは「ソースファイルのコンパイル」と「リンク」を合わせて「ビルド」という ・「ビルド」は任意に実行できるが、自動的にも行われるので、ソースファイルを書いたら「実行」でOK p.8 .NET Framework(補足) ・Microsoftが無償提供している、Windowsでの開発と実行を効率化する仕組みで安全性にも効果がある ・C#とVisual Basic言語に対応 ・対応していないC言語やC++では、OSの上で直接動作することによる効率の良さがあるが、問題や安全性低下が起こりやすい ・.NET FrameworkはWindowsの上に実行環境を構築して、その上でプログラムを動作させるので、効率はやや劣るが、  問題や安全性低下が起こりづらい ・Windows11には予め.NET Frameworkが入っているが、Windows10以前のOSではそうとは限らないので、  別途、.NET Frameworkをインストールする必要がある。 p.11 Visual Studioの使い方(バージョンアップに伴い差し替え) ①「スタート」「すべて(のアプリ)」「V」「Visual Studio 2022」 ②「新しいプロジェクトの作成」 ③ 言語を「C#」に、プラットフォームを「Windows」にする ④「空のプロジェクト(.NET Framework)」「次へ」 ⑤ プロジェクト名は自由(例:chap2)。場所の「…」をクリックしてUSBメモリなどを指定 ⑥「作成」  ※「新機能」「Copilot」は「×」で閉じてOK ⑦「ウィンドウ(W)」「ウィンドウレイアウトのリセット」「はい」 ⑧「プロジェクト(P)」「新しい項目の追加」  ※新しい項目の追加ウィンドウが表示されなければ「すべてのテンプレートの表示」 ⑨「コード」「コードファイル」 ⑩「名前」を「sample.cs」に書き換えて「追加」 p.15 Sample.csを用いて動作確認 //sample.cs using System; class Sample { public static void Main() { Console.WriteLine("Hello, World!"); } } ①「ファイル」「すべて保存」  ※1本のみなので「sample.csの保存」や、Ctrl+SでもOK ②「ビルド」「ソリューションのビルド」(通常は自動実行に任せてOK) ③「▽(右向き)」(デバッグなしで開始)で実行 ④ デバッグコンソールが開いて結果が表示されたら、確認して何かキーを押して閉じる  ※開いたままだと、次回のビルドが失敗するので必ず閉じる 第2章 テキストを表示する p.17 初めてのC#プログラム(のアレンジ) ・すでに作成し確認した sample.cs を元にして、p.17の「myname01.cs」を作ろう 手順 ①「プロジェクト(P)」「新しい項目の追加」 ②「コード」「コードファイル」 ③「名前」を「myname01.cs」に書き換えて「追加」 ④ タブで「sample.cs」に切り替えて、全文を選択し「編集」「コピー」  ※または、Ctrl+A、Ctrl+C ⑤ タブで「myname01.cs」に切り替えて「編集」「貼り付け」  ※または、Ctrl+V ⑥「ソリューションエクスプローラー」にある「sample.cs」を右クリックして「プロジェクトから除外」  ※削除はされないので大丈夫(実行対象から外すだけ) ⑦ テキストp.17のとおりに、変更部分だけを書き換える  ※「"~"」の部分は適当に書き換えてOK //myname01.cs using System; class MyName01 { public static void Main() { Console.WriteLine("我が名はヴェルドラ"); } } ⑧「ファイル」「すべて保存」  ※または、Ctrl+Shift+S(1本のみなのでCtrl+SでOK) ⑨「▽(右向き)」(デバッグなしで開始)で実行  ※この場合自動的にビルドされるので「ビルド」「ソリューションのビルド」は実行不要 ⑩ デバッグコンソールが開いて結果が表示されたら、確認して何かキーを押して閉じる p.18 プログラムの構造:コメント ・「//」以降、改行までの記述はコンパイル対象にならない(ビルドに使われないので、実行とは無関係になる)ので、メモ書きに便利 ・このメモ書きをコメントといい、実業務では記述内容と記述形式がルール化されていることが多い  例:作成者/変更者名、作成/変更理由、変更履歴、留意点 など ・なお、C言語のコメント形式として「/*」から「*/」までを用いて複数行コメントを記述可能 ※ p.19 コメントの例2、3のような混在は推奨されない p.18 プログラムの構造:名前空間(詳細はp.387) ・大量の情報がある時に、名前をつけて分割することで、管理や重複チェックを効率化できる仕組み ・C#が提供する部品群は複数の名前空間に分けてあるので、使う名前空間をusingすれば良い  ※一般に良く使われる部品があるのはSystem名前空間なので、無条件に「using System;」を記述する ・名前空間の利用を宣言しておけば、本来の名前の前につく「名前空間名.」を省略できる  例: System.Console.WriteLine("A"); ⇒ Console.WriteLine("A"); p.18 プログラムの構造:クラス(詳細はp.153) ・プログラムを構成する単位で、C#では、処理はクラスに記述する必要がある ・クラスには名前が必要で、ソースファイル名と同じクラス名にすることが多いが変更も可能 ・定義書式: class クラス名 { 内容 } ・「{」から「}」まででクラス定義の範囲を示す(単純なプログラムは1クラスの場合が多い) p.19 プログラムの構造:Mainメソッド(詳細はp.160) ・クラスの中に記述する「実行内容の定義」がメソッド ・Mainメソッドは特別な名前で、開始直後に行うべき内容を記述する ・定義書式例: public static void Main() { 内容 } ・「public」で外部(この場合はC#システム)から見えることを指す ・「static」で初期状態で存在する(だから最初から実行可能な)ことを指す ・「void」で呼び出し側(この場合はC#システム)に何も返さないことを指す(情報を返すようにもできる) p.20 プログラムの構造:メソッド呼び出し ・Console.WriteLine("…"); は、C#が提供しているメソッドを呼び出して、指定した文字列をコンソールに表示させている ・ConsoleはC#が提供しているクラスで、System名前空間にある ・WriteLineはConsoleクラスに含まれいているメソッドで、()内に指定したデータを解釈してコンソールに表示する ・()内に"文字列"とすると、文字列をコンソールに表示する p.21 プログラムの構造:インデント ・クラスの定義やメソッド定義の範囲を示す「{」と「}」をブロックという ・ブロックの内側にブロックを記述するので、開始と末尾がペアになるように間の前方に空白を入れる事をインデントという ・Visual Studioなどはインデントを自動的に行うが、編集によって乱れることもあるので注意 ※ 他者に見せるソースファイルはインデントが正確にされていることが前提 ※ Visual Studioにはインデントの乱れを即時に修正する機能がある(ctrlを押しながらA,K,Dの順に押す) 提出:アレンジ演習:p.17 myname01.cs ・myname01.csnの各行にコメントを記述して誰もが理解したすいようにしよう ・入力し終えたら保存し、念のために実行して結果が変わらないことを確認しよう 提出方法 ① VisualStudioで「ファイル」「印刷」 ②「プリンタの選択」で「Microsoft Print to PDF」を選択し「印刷」 ③「ドキュメント」を選択し、ファイル名に「myname01」「保存」 ④「wpc.rundog.org」のメニューにある「提出フォーム」 ⑤「ファイルの参照」でドキュメント」を選択し「myname01.pdf」を選んで「開く」 ⑥「お名前」を入力(苗字のみでOK) ⑦「メッセージ」を入力(感想・要望・質問・ペースについて等をお書きください) ⑧「送信」 次回予告:p.22「変数を使ってみる」から