2008年02月28日

C#:下限がゼロでない1次元配列はつくれない

  
C#3.0で、下限がゼロでない配列をArray.CreateInstanceで作成しようと思って、

int[] nums = (int[])Array.CreateInstance(typeof(int), new[] { 50 }, new[] { 2000 });

というコードを書いて、実行させたら、

型 'System.Int32[*]' のオブジェクトを型 'System.Int32[]' にキャストできません

という例外が出た。
C#だと、[*]って使えないから、ダメなのね。
C#では、下限がゼロでない配列は、多次元配列じゃないと使えないみたいです。

Array nums = Array.CreateInstance(typeof(int), new[] { 50 }, new[] { 2000 });

とすれば、Array型として使えるけど、なんだか〜。

まあ、興味本位で使ってみただけなので、使えなくても問題ないですが...


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/51422659