投稿日:2007-06-07 Thu
ActionScriptだと構造体とクラス定義は、ある意味同じという面もあるけれど、C#では大きな違いがあるみたい。最初は、やっぱりNew宣言でインスタンスつくって似てるなあと思ったけど、参照型と値型って違いがあったのでメモ・・・
ActionScriptだとArrayの中に入れたオブジェクトを取り出してプロパティを変えたりすると参照型なので、Arrayの中も勝手に変わってる訳なのですが、C#だとArrayListから抜き出した構造体だと複製されて、複製された構造体の値が変わってしまう。
つまりArrayListの中のオリジナルはそのまんま・・・・
って事はArrayListから取り出した構造体をいじった場合は、その構造体をArrayListの同じ位置に置き換えないといけないってことか・・・・・この使い方は、まあ、ある意味メモリの無駄って事になるのかな。
クラス定義した値は、ArryListから取り出してからいじっても
ArrayListの中のオブジェクトのプロパティも変わっている。
色々参考ページを見てると、なんか使いようってことなんでしょうね。
テーマ:.NET Framework - ジャンル:コンピュータ
△ PAGE UP