Month: March 2025

講義メモ 後半

p.212 インデクサ ・主に、配列をデータメンバとして持つクラスにおいて「オブジェクト名[添字]」とすることで要素を扱える仕組みがインデクサ ・アクセッサと似た記述が可能なので、データの保護にも役立つ ・定義書式: データ型 this[インデックス型 インデックス] { get {…} set {…} } ・getの基本構文は「get { return 配列名[インデックス]; }」 ・setの基本構文は「set { 配列名[インデックス] = value; }」 アレンジ演習:p.213 indexer01.cs ・「””」が代入されたら要素に代入しないようにしよう 作成例 //アレンジ演習:p.213 indexer01.cs using System; class MyClass {     string[] name = new string[5]; //データメンバである配列     public string this[int i] { //インデクサの定義(データはstringで、インデックスはint)         get {             return name[i]; //インデックスを添字として配列の要素を得て返す         }         set {             if (value != "") { name[i] = value; } //インデックスを添字として配列の要素に値を代入(""以外)         }     } } class indexer01 {     public static void Main() {         MyClass mc = new MyClass();         mc[0] = "一郎"; //オブジェクト名[インデックス]なので、インデクサのsetが呼ばれる         mc[1] = "次郎";         mc[2] = "三郎";         mc[3] = "四郎";         mc[4] = "五郎";         mc[2] = ""; //インデクサのsetでチェックするので代入されない         for (int i = 0; i < 5;…

Read the full article

講義メモ

・p.204「静的クラス」から p.204 静的クラス ・静的メンバのみによるクラスは、静的クラスにすることができる ・書式: static class クラス名 {…} ・義務はないが、静的クラスにしておくことで、誤って静的ではないメンバが出現することを防止できる アレンジ演習:p.204 static02.cs ・静的クラスにインスタンスメンバを追記してエラーになることを確認しよう 作成例 //p.204 static02.cs C#2.0以降 using System; static class MyClass { //静的クラス     public static int x; //静的データメンバ     // int y; //エラーになる     public static void showX() { //静的メソッド         System.Console.WriteLine("x = {0}", x);     } } class static02 {     public static void Main() {         MyClass.x = 10; //静的データメンバなのでクラス名指定で扱う         MyClass.showX(); //静的メソッドなのでクラス名指定で扱う     } } p.205 静的メンバとインスタンスメンバの混在 ・1クラスに静的メンバとインスタンスメンバの混在が可能だが、下記のルールがある ① 静的メソッドはインスタンス変数を扱えない(区別できないので) ② 静的メソッドはインスタンスメソッドを呼べない(〃) ③ 静的メソッドはthisを使えない(thisはインスタンスを指すので) ・なお、インスタンスメンバから静的メンバへのアクセスには制限はない(クラスに1つしかないので) p.205 static03.cs 解説図   アレンジ演習:p.205 static03.cs ・静的メソッドでインスタンス変数を扱うとエラーになることを確認しよう ・静的メソッドでインスタンスメソッドを呼ぶとエラーになることを確認しよう ・静的メソッドでthisを使うとエラーになることを確認しよう 作成例 //アレンジ演習:p.205 static03.cs using System; class Cat {     static int NoOfTail; //静的データメンバ     string Name; //インスタンス変数     public void SetName(string strName) { //インスタンスメソッド         Name = strName; //インスタンス変数を扱える     }     public void ShowCat() {…

Read the full article

今週の話題

ゲームソフト販売本数ランキング:今週1位は「龍が如く8 外伝 Pirates in Hawaii」GO! 賞金総額140万円!ゲーム開発コンテスト『Tokyo Game Jam』参加者募集。ゲーム制作へのAI活用や業界動向、ハッカソンのコツを語るプレイベント開催 GO! Steamの日替わりセール対象が1日6枠に拡張!1年間で2,500本以上のゲームを支援した精選プロモーション GO! 電子書籍ストア運営のBookLive、PCゲーム市場に初参入 GO! 「現実のギャンブルルールではない」訴え認められ人気ローグライク『Balatro』『幸運の大家様』海外レーティング緩和へ GO! 「生成AI利用した作品のフィルタ」機能をSteamDBが実装―AI利用を開示した作品を一括で非表示に GO! ワーナーが『Wonder Woman』開発を含む3スタジオを閉鎖…サ終迫る『MultiVersus』スタジオも継続せず GO!

前回のコメント

・本日もありがとうございました。  また来週もお願いします。  残り3回は少しペースが上がりますので、  しっかりとスキルアップしてください。 ・今回もありがとうございました。  もうあと数回ですね、すごく早く感じます。  次回もよろしくお願いします。  こちらこそ、よろしくお願いいたします。 ・本日もありがとうございました。 ・今日もありがとうございました。次も頑張ります。  応援します。