- PR -

構造体配列をArrayListにAddする方法

1
投稿者投稿内容
優希
ベテラン
会議室デビュー日: 2003/08/12
投稿数: 92
投稿日時: 2004-04-08 21:58
優希です。
度々お世話になっております。

表題にあるように、
構造体配列をArrayListにAddする方法をお尋ねします。

開発環境は、VS.NET2002(VC++)、Windowsフォームを使って行います。


まずは簡単なサンプルを見てください。

構造体定義です。
コード:
// 構造体
public __value struct SampleTbl{
	String *str1;	// 文字列1
	String *str2;	// 文字列2
};



次は処理です。
コード:
int TableSize = 10;

// 構造体生成
SampleTbl sampleInf1[] = new SampleTbl[TableSize];
SampleTbl sampleInf2[] = new SampleTbl[TableSize];
  :(数個ある)

// 単純な例です。
// 実際は何らかの値が入ると思ってください。
for(cnt=0; cnt<TableSize; cnt++){
 sampleInf1[cnt].str1 = String::Concat(S"STR1-",cnt.ToString());
 sampleInf1[cnt].str2 = String::Concat(S"STR2-",(cnt+1).ToString());
}

// ArrayListへAddしたい
ArrayList *list = new ArrayList();
Object *obj;
obj = __box(sampleInf1);	// ←ここが問題!!
list->Add(obj);

obj = __box(sampleInf2);	// ←ここが問題!!
list->Add(obj);

 :(数個ある)




まずは、ArrayListにAddするには、
構造体をObject型にしなければなりません。
それでBox化しようとしたのですが、
構造体配列をどのようにObjectにしたらよいか悩んでいます。

ただの構造体であれば、出来るのですが。

どうかアドバイスをお願い致します。

なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-04-08 22:13
引用:

優希さんの書き込み (2004-04-08 21:58) より:
まずは、ArrayListにAddするには、
構造体をObject型にしなければなりません。
それでBox化しようとしたのですが、
構造体配列をどのようにObjectにしたらよいか悩んでいます。

ただの構造体であれば、出来るのですが。


Managed C++ については全然知らないんですが、構造体の配列は配列なのですからボックス化は要らない(というかできない)と思いますが。
優希
ベテラン
会議室デビュー日: 2003/08/12
投稿数: 92
投稿日時: 2004-04-09 00:13
そ、そうだったんですかー。
勉強不足でした。

優希
ベテラン
会議室デビュー日: 2003/08/12
投稿数: 92
投稿日時: 2004-04-09 19:19
優希です。


1構造体ずつArrayListにAddし、
複数ある構造体配列を
新たなArrayListにAddする方法で解決(?)致しました。

有難う御座いました。
1

スキルアップ/キャリアアップ(JOB@IT)