- - PR -
構造体配列の動的について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-10-03 14:55
こんにちは。
構造体配列を動的に作成したいのですが、できなくて困っています。 (VB.NET) ソースは以下の通りです。 Private Structure m_strMeisai01 Dim m_Bumon As String Dim m_Bumonname As String Dim m_Kobetu As String Dim m_Kaimirikei As Double End Structure Dim dtMeisai1() As m_strMeisai01 With dtMeisai1(intMeisaiLen) .m_Bumon = m_dtMeisai1.Rows(intCntdt1)(0) .m_Bumonname = m_dtMeisai1.Rows(intCntdt1)(1) .m_Kobetu = m_dtMeisai1.Rows(intCntdt1)(2) .m_Kaimirikei = m_dtMeisai1.Rows(intCntdt1)(3) End With と宣言すると、"Nothing"で値をセットすることができません。 Dim dtMeisai1(10) As m_strMeisai01 と宣言すると、値をセットすることができます。 そもそも構造体配列を動的に作成はできないのでしょうか? |
|
投稿日時: 2004-10-03 18:34
Dim dtMeisai1() As m_strMeisai01
では実体を宣言したことにはならないので。。 ReDimを使用するか、ArrayList使うのが簡単でいいと思います。 |
|
投稿日時: 2004-10-03 19:57
構造体でするより、クラスにしてDataRowを引数にするコンストラクタを作る方がいいと思います。
また、配列は再割り当てをいろいろ考える必要があるので、その辺を自動的にやってくれるArrayListを使うと便利です。もし配列が必要なら、ArrayListに配列として取り出すメソッドもあります。 |
|
投稿日時: 2004-10-03 23:16
ちなみにArrayList等(ぶっちゃけ配列以外)を使う場合、
先にインスタンスを格納しといていじることは基本的には出来ないので注意。 ※あ、構造体の場合の話ですよ。クラスにするならOKですが。 |
1