独自に定義する型をコレクションがソートしたり検索したりするときのために、順序関係を必要とする場合がある。.NET Frameworkは、順序関係を実装するために2つのインターフェイスを提供している。IComparable …
“Effective C# 3rd 読書メモ 20 順序関係はIComparable
独自に定義する型をコレクションがソートしたり検索したりするときのために、順序関係を必要とする場合がある。.NET Frameworkは、順序関係を実装するために2つのインターフェイスを提供している。IComparable …
“Effective C# 3rd 読書メモ 20 順序関係はIComparable
以下のコードは、通常のEnumerable<T>とは逆順に走査を行う、ReverseEnumerable<T>の実装である、 ここでは、以下の工夫によってコピーの回数を減らし、パフォーマンスを向上 …
“Effective C# 3rd 読書メモ 19 実行時型チェックを使ってジェネリックのアルゴリズムを特化させる” の続きを読む
ジェネリクスの型パラメータに宣言する制約は、クラスが役割を果たすのに必要な振る舞いを特定する。 制約を行うのとは別のアプローチとして、渡された型が条件を満たすか実行時にチェックする、という方式もある。 これに対して、型パ …
ファイルやDB接続等、.NET Frameworkの管理下にないリソース(unmanaged resource)を利用する際は、適切な後処理を行う必要がある。.NET Frameworkにおいて標準的に利用されるパターン …
仮想関数は、コンストラクタの中で(C++プログラマーにとっては)奇妙な振る舞いをする。 たとえば、以下のコードを実行すると、出力されるのは「Set by initializer」である。 class Program { …