哀のメモリー

テーマ:
 タイトルに、深い意味はありません。

 ちょっと、野暮用で、XNA で作られたプログラムの処理落ちの原因を調べてたら、奇妙な動作に遭遇。

 何故か、メモリーが増えるはずの無い場所で、メモリーが確保されている! 新手のスタンドの攻撃か!?

 簡単に説明すると、Dictionary 型に突っ込んだ値を持ってくるだけで、メモリー食ってる。こいつは、妙だ。
 Dictionary 型なんて、何度も使ってるけどこんな事は初。

 とりあえず、サクッとテストプログラムを作成。うは! メモリー確保してやがる。

 まさか、3.0になってから、こうなった? と、一瞬、思ったけど、もう一つ、気になる点があったので、確認。ハーミットパー

 今度は、メモリーは微動だにせず。了解。

 そんな訳で、Dictionary 型のキーに列挙型を指定すると、その列挙型をキーにして渡す時に、メモリーとボクシングが発生する事が判明。

 と、言う事で、Microsoft Connect にサクッと登録。
 数日、放置していたら、状態が「終了 (外部)」になっていたので、3.1で治っている事を期待する。

 あ、ちなみに、キーを byte とか int とかにして、列挙型をキャストして渡した場合は、無問題。
 まぁ、だから、バグとして報告した訳だが。

AD