C# 【C#】演算子のオーバーロード 演算子のオーバーロード ユーザー定義型(自分で作ったクラスなど)は、デフォルトでは組み込み型のように+や-などの演算子を使うことはできないが、独自に演算子を実装することで使えるようになる。 ユーザー定義型で演算子を実装すること... 2022.07.22 C#クラス構造体
C# 【C#】ジェネリック(ジェネリクス) ジェネリックとは ジェネリックの意味 型パラメーターを使用することで、汎用的なクラスやメソッドなどを作ることができる機能。 Microsoftのドキュメント(英語版)ではgenericsとなっており、Javaなどではジェ... 2022.07.14 C#
C# 【C#】プロパティ プロパティとは クラスと構造体で定義できる特殊なメソッド。 クラスや構造体のデータを保持する変数であるフィールドに安全にアクセスするために作成する。 プロパティを介することで、オブジェクトに認識されないまま不意に外部のコ... 2022.07.07 C#クラス構造体
C# 【C#】列挙型(enum) 列挙型(enum) 列挙型(enum)を使うと、一連の定数に名前を付けて、1つの型にまとめることができる。 列挙型を使うことで、マジックナンバーを避けることができる。 enumは英単語のenumerate(列挙する)を略... 2022.07.07 C#
C# 【C#】オブジェクト初期化子 オブジェクト初期化子を使う理由 クラスや構造体のプロパティの数が多くなると、コンストラクタの引数の組み合わせパターンは膨大な数になってしまう。 オブジェクト初期化子を使えば、すべてのパターンのコンストラクタを定義しなくても、必... 2022.07.01 C#クラス構造体
C# 【C#】文字列のインターン化 C言語では文字列の実態はchar型の配列だが、C#の場合は文字列型のオブジェクトである。 文字列型(string)は参照型である。 文字列は不変であり、一度作成した文字列は変更できない。string型変数の内容を変更する場合は... 2022.06.30 C#
C# 【C#】構造体の防衛的コピー 構造体の防衛的コピー 構造体は値型であり、値への参照ではなく値そのものを持っている。 構造体型のフィールドに対してreadonlyを付ける(または読み取り専用(get-only)プロパティを使用する)と、構造体の値そのものが読... 2022.06.30 C#構造体
C# 【C#】switchとパターン switchステートメント 基本的なswitch文 switch文(switchステートメント)を使うと、指定した式(変数など)の値によって処理を分岐させることができる。 caseでパターンを指定するため、switch-... 2022.06.17 C#