2004-08-19から1日間の記事一覧

.NET 2.0 の Dictionary

Generics を利用した Hashtable とも言えるのが、この Dictionary クラス。 Hashtable 同様に扱えますが、所期サイズが3と非常に小さい、データ管理方法が Hashtable とはまったく異なるなど、細かくは見ていませんが、かなりの差異があるようです。

.NET 2.0 の Hashtable

まず、前述したとおり IHashCodeProvider が Obsolete とマークされた。とは言え、たんに IHashCodeProvider と IComparer を個別に受け取っていたのを、この2つのインターフェスを1つにまとめた IKeyComparer を受け取るようになっただけなので、大きな問…

.NET 1.1 の Hashtable

では、Hashtable は実際に何個のバケット(バケツ)にデータを分割して保存するのでしょうか? SDK ドキュメントでは Hashtable のバケットの数が素数であることしか記載されていないので、実際に動作させてデバッガなど確認するのが手早いと思えます。 確認…

.NET 1.1 とハッシュ値

.NET 1.1 では GetHashCode() の実装に注意が必要であるか、独自の GetHashCode() を提供しているクラスは結構ありますが、対象となるオブジェクトのハッシュ値を利用しているクラスは意外に少ないようで、ASP.NET の実装が使用しているというドキュメントは…

ハッシュ値

Equals() を override したんだけど GetHashCode() をどんな内容で override したらいいかわからない...って大丈夫ですか!? ということがたまに。 (1)〜(100)までのボールが1つのバケツに入っているとして、そこから(73)のボールを取り出すにはどうすればい…

Visual Studio 2005 beta1

予定通り Visual C# Express 2005 beta1 (英語) を削除して Visual Studio 2005 beta1 (日本語) に変更した。2005 になって簡易 Web Server が内蔵されたことで IIS の設定がどうこういった開発時のトラブルや、ソースコード一式が Web Server に保存されて…