基本用法 文字列操作のいろいろ C#言語での文字列 C#言語での文字列は、文字型の配列ではなく、文字列型のオブジェクトです。 つまり、System.Char構造体の配列ではなく、System.Stringクラスのオブジェクトです。 Stringとstring String... 2020.11.19 基本用法
基本用法 弱い参照 WeakReferenceとWeakEventPatternと C#でのメモリ管理は実行環境である.NETお任せです。 使い終わったらガベージコレクタが自動で回収してくれるので、プログラマが逐一破棄処理を明示的に記述する必要はありません。 生成されたインスタンスが使用中か否かは、そのインスタンスへの参照... 2020.11.15 基本用法
基本用法 遅延初期化 Lazy & LazyInitializer 通常の初期化処理はコンストラクタ等で行います。 初期化コストの大きなものや、使うとも限らない機能などは、最初に準備せずとも必要になったら準備できればよい。 このように初期化の契機を遅らせる実装を遅延初期化と言います。 // 大きいクラスと仮... 2020.11.15 基本用法
基本用法 再帰呼出し ラムダで簡単に 再帰呼出しは、メソッドの中からそのメソッド自身を呼び出す類の処理のことを言います。 階乗計算やフィボナッチ数列の例ばかりが見つかりますが、他にもいろいろと活躍の場が多い実装方式です。 ここではフォルダ内の全てのファイルパスをリスト化するサン... 2020.11.14 基本用法
基本用法 ボックス化とボックス化解除とそのコスト ボックス化とボックス化解除 C#言語では、すべての型はSystem.Objectクラスから派生しており、継承関係のある型は代入が可能です。 これは、値型である構造体などを派生型であるObject型へ変換可能なことも意味しています。 このよう... 2020.11.05 基本用法
基本用法 呼び出し元の情報取得 Caller Info属性 .NET Framework 4.5 から追加された機能です 以下のサンプルコードのように、引数にinfo属性とデフォルト引数とを付与したパラメタを追加するこにより、コンパイル時に呼び出し元の情報を取得することが... 2020.11.05 基本用法
基本用法 Build-In型(組み込み型)とC#キーワード C#キーワードとBuild-In型 C#言語には、多くのBuild-In型(組み込み型)が定義されており、それぞれのBuild-In型はそれに対応するC#キーワードを持ちます。 これらは基本的には全く同じものを指し、いわゆるエイリアス(別名... 2020.11.04 基本用法
基本用法 継承 どちらが実行されるのか 基底クラスと継承クラス(派生クラス)との関係 基底クラスに定義されたメンバを継承クラスで上書きするには以下の2通りある 1.基底クラス側でvirtual指定し継承クラス側でoverride指定する 2.基底クラス側の通常のメソッド等に対しn... 2020.11.04 基本用法
基本用法 コンストラクタとデストラクタとそのあたり コンストラクタ インスタンス生成時に自動で実行される 戻り値なし・型名と同名・引数は任意で定義 ※構造体については構造体の記事を参照のこと class Member { public int ID { get; set; } public ... 2020.11.03 基本用法
基本用法 数値型 C#での基礎知識 数値型の基本 プログラミングで数値は重要ですが、算数や数学の世界とは扱いがちょっと違う ここではC#言語で数値を扱うのに必要なあれこれをまとめて紹介してます C#(.NET)の数値型は構造体として定義されている int型はC#の型であり、.... 2020.11.01 基本用法
基本用法 型変換 だいたい全部のやり方 基本 C#言語の変数はコンパイル時に型が決まる静的型付け言語なので、異なる型の変数への代入はできない int number = 10; string name = "Ken"; // これは型が違うのでコンパイルが通らない // name ... 2020.11.01 基本用法
基本用法 メソッドの引数 値を渡すか参照を渡すか 型と個数を指定 C#言語でメソッドを定義する場合、引数としてどんな型のパラメータを幾つとるのかを決める必要がある // 型と個数を指定 public void Method1(int id,string name) { // do some... 2020.10.31 基本用法
基本用法 構造体の初期化 クラスとはちょっと違う クラス(参照型)とは違い、構造体(値型)の初期化はちょっとクセがあります。 ・デフォルトコンストラクタ(引数なしのコンストラクタ)を定義できない (ゼロ初期化というデフォルト値で初期化するコンストラクタがコンパイラにより自動生成されるため... 2020.10.31 基本用法
基本用法 列挙体と日本語 問題とその解決法 列挙体と日本語の問題 列挙体(Enum)を定数とて定義する場合などに問題となるのが日本語の問題。 C#のコードはUTF-8なので日本語で書けないことないけど、 通常は列挙体や列挙子は英語もしくはローマ字表記となる。 こうした定義に対しVie... 2020.10.22 基本用法