コンテンツへスキップ
ものがたり
戻る

Javaでは常に直列化されていることが評判のよろしくないHashtableだけど、逆に.NETでは同期化されたHashtableの挙動がけっこう怪しい。以下ここから:

Hashtable h = Hashtable.Synchronized (new Hashtable ());  

h ["a"] = 1;  

IEnumerator e = (h as ICollection).GetEnumerator();  

Console.WriteLine (e.MoveNext ());  

DictionaryEntry e = (DictionaryEntry) e.Current;

これは.NET 1.1 SP1(他は未確認)ではInvalidOperationExceptionになる。MoveNext()の戻り値に注意。ちなみに.NET 2.0 beta2ではGetEnumerator()がnullぬるぽを返しちゃったりして。

とりあえず今投げているコレの対応が決まるくらいリリースサイクルが落ち着いたら、product feedbackに投げてみようかな。って、既にいくつもクールなアイディア(自称)を投げまくってるんだけど、実装されたのって1つか2つくらいしか無いんだよねぇ。


この記事を共有:

前の記事
2005-09-02
次の記事