|
■No75453 (あんち さん) に返信 > st_arrayをアレイリストで定義してます。
これは、System.Collections.ArrayList のことでしょうか?
.NET 2.0 以降ではジェネリックが使えるようになったので、 ArrayList が使われることは殆んどなくなりましたが、 今回は ArrayList で良いのですね?
> 下のDebug.WriteLineの所で、myField(myProperty).ToString()の値を 今回はすべて ToString しているようですし、それなら ArrayList ではなく、 文字列型を扱うためのコレクション、たとえば List(Of String) とかを 使った方が良いのでは無いでしょうか。
それと今回の場合、 myField は DataRow 型 myField(n) は 各列の値 ですよね。 行を表す変数なら、Field より Row の方が良い気がします。
ちなみに、値の一覧が欲しいだけなら、列ごとに取り出さなくても hoge = myField.ItemArray のように、DataRow の ItemArray プロパティでまとめて取り出せますよ。 データ型は ArrayList ではなく Object配列ですけど。
> Debug.WriteLine(myProperty.ColumnName & " = " & myField(myProperty).ToString()) > st_arrayに入れたいのですが、わかりません。
どのように入れたいのでしょうか?
たとえば 11,12,13,14,15 21,22,23,24,25 31,32,33,34,35 のような、3行5列のデータがあったとして…
列単位で管理:st_array(1) が {"11", "21", "31"} な配列になるようにしたい 行単位で管理:st_array(1) が "21,22,23,24,25" なカンマ区切りデータになるようにしたい 行単位で管理:st_array(1) が {"21", "22", "23", "24", "25"} な配列になるようにしたい
> st_array(i,j) = myField(myProperty).ToString() ArrayList は、2 つの引数を受け取れません。
「コレクション」――配列とか ArrayList とか List(Of )とか―を ArrayList に詰め込むようにすれば、たとえば st_array(行)(列) の形で取り扱えるようにもできますが、 それなら ArrayList なんて使わずとも、SchemaTable.Rows(行)(列) のままで良いわけで。
|