講義メモ

・オリエンテーション
・テキスト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(補足)

・開発と実行を効率化する仕組みで安全性にも効果がある
・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)」「次へ」
⑤ プロジェクト名は自由。場所の「…」をクリックしてUSBメモリなどを指定
⑥「作成」
 ※「新機能」「Copilot」は「×」で閉じてOK
⑦「ウィンドウ」「ウィンドウレイアウトのリセット」「はい」
⑧「プロジェクト」「新しい項目の追加」
 ※新しい項目の追加ウィンドウが表示されなければ「すべてのテンプレートの表示」
⑨「コード」「コードファイル」
⑩「名前」を「sample.cs」に書き換えて「追加」

p.15 Sample.csを用いて動作確認

//sample.cs
using System;
class Sample 
{
    public static void Main()
    {
        Console.WriteLine("Hello, World!");
    }
}

①「ファイル」「すべて保存」
②「ビルド」「ソリューションのビルド」(通常は自動実行に任せてOK)
③「デバッグ」「デバッグなしで開始」または「▽(右向き)」で実行
 ※「コード 0 (0x0) で終了しました」が表示されたら正常終了している
④任意のキーを押すか、「×」でコンソールを閉じる(放置しないこと)

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.18 プログラムの構造:Mainメソッド(詳細はp.160)

・クラスの中に記述する「実行内容の定義」がメソッド
・Mainメソッドは特別な名前で、開始直後に行うべき内容を記述する
・定義書式例: public static void Main() { 内容 }
・「public」で外部(この場合はC#システム)から見えることを指す
・「static」で初期状態で存在する(だから最初から実行可能な)ことを指す
・「void」で呼び出し側(この場合はC#システム)に何も返さないことを指す(情報を返すようにもできる)

p.17 myname01.cs(コメントを付けたバージョン)

//p.17 myname01.cs
using System; //System名前空間の利用を宣言
class MyName01 //MyName01クラスの定義
{ //クラス定義の開始
    public static void Main() //開始直後に行う実行内容の定義
    { //メソッド定義の開始
        Console.WriteLine("私の名はシャア"); //コンソールに表示する
    } //メソッド定義の末尾
} //クラス定義の末尾

p.21 インデント

・クラスの定義やメソッド定義の範囲を示す「{」と「}」をブロックともいう
・ブロックの内側にブロックを記述するので、開始と末尾がペアになるように間の前方に空白を入れる事をインデントという
・Visual Studioなどはインデントを自動的に行うが、編集によって乱れることもあるので注意
※ 他者に見せるソースファイルはインデントが正確にされていることが前提
※ Visual Studioにはインデントの乱れを即時に修正する機能がある(ctrlを押しながらA,K,Dの順に押す)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です