基本文法 ジェネリック(ジェネリクス) 制約がまた増えた ジェネリック(ジェネリクス) ジェネリック(ジェネリクス)とは、型パラメータを指定することにより、その型に応じたクラスやメソッドなどを実現する機能のこと。 <T>のようにで指定する。 ジェネリッククラスとジェネリックメソッド class... 2020.10.27 基本文法
基本文法 C#言語の演算子 誤用しやすいのと新しいのと C#言語に定義されている多くの演算子は、その系譜であるDelphiやC/C++といった言語と同じようなものです。 ここでは、あまり見かけないものや最近追加されたものを簡単に紹介します。詳細は以下の公式で確認下さい。 公式ページはこちら C#... 2020.10.27 基本文法
基本文法 NULL許容値型とNULL許容参照型 NULL許容値型 最近まではNULL許容型と言っていた筈ですが、いつの間にやらNULL許容値型と呼称が変わってました。 これはC#8.0で追加されたNULL許容参照型の影響なのでしょう。 参照型の変数を宣言した場合、その値はNULLになりま... 2020.10.24 基本文法
基本文法 インデクサ 実装例と汎用定義と インデクサ クラスや構造体のインスタンスに対し、配列のように添え字でアクセスできるようにするための文法。 他のプログラミング言語でも見かけない珍しいものですが、使いどころもあまりないかも。 文字例の例 C#言語の文字列もインデクサを実装して... 2020.10.23 基本文法
基本用法 列挙体と日本語 問題とその解決法 列挙体と日本語の問題 列挙体(Enum)を定数とて定義する場合などに問題となるのが日本語の問題。 C#のコードはUTF-8なので日本語で書けないことないけど、 通常は列挙体や列挙子は英語もしくはローマ字表記となる。 こうした定義に対しVie... 2020.10.22 基本用法
基本文法 列挙体 基本定義と変換 列挙体 列挙体は列挙子リストという定数の集合から成る System.Enumを暗黙的に継承するちょっと特殊な値型 (このEnumに定義されるメソッド群を使えます) 定義した列挙体を継承することはできない enum TrafficSignal... 2020.10.22 基本文法
基本文法 プロパティ フィールドのようなメソッドのような プロパティ プログラミング言語においてプロパティという用語は多義的に使われますが、C#言語においてはアクセッサーの機能を持つ文法です。 Java言語やC++言語といった他のメジャーなプログラミング言語にはない機能です。 クラスが持つ状態を表... 2020.10.21 基本文法
基本文法 定数 定義方法とバージョニング問題 定数 C#言語にも#defineプリプロセッサはあるのですが、定数を定義するための用途では使われません CやC++系の言語とは違うので注意です const C#で定数を表すにはconstキーワードを指定します 値を設定するのは宣言時のみです... 2020.10.19 基本文法
基本文法 構造体 クラスとの違い C#言語の構造体は以下のような特徴があります。 参照型ではなくて値型 クラスと同様に状態(フィールド)と振る舞い(メソッド)とを定義できる ヒープではなくてスタックにアロケートされる 自身はSystem.ValueType型を(暗黙的に)直... 2020.10.18 基本文法
基本文法 クラスの種類 いつくかある クラス クラスは、振る舞い(メソッド)と状態(フィールド)とを構成要素とします。 オブジェクト指向では中心的概念を担いました。 class SampleClass { // 状態(フィールド) private int _number; //... 2020.10.15 基本文法
基本文法 Using 使い方は4種類 Usingディレクティブ 使用する側のコードと同じ名前空間に定義されたクラスなどはそのまま使うことができます。異なる名前空間に定義されている場合は「名前空間 + クラス名」といった完全修飾名を必要とします。逐一記述するのも大変なのでファイル... 2020.10.14 基本文法