DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ARRAYリスト内でのデータ検索について

環境/言語:[XP, NET Framework(2.0)]
分類:[.NET]

お世話になります。下記のようにARRAYリスト内を検索し、
リスト内に存在するはずなのですが、"-1"の戻り値しか取得できません。
2次元配列では取得できないのでしょうか?

Dim Lv1array() As DataRow
Lv1array = getBomExp.GetDataTable.GetDataTable.Select("level = 1")
For j As Integer = 0 To Lv1array.GetUpperBound(0)
TEST = Lv1array(j)("kcode")
Debug.WriteLine("展開後品番=", TEST)
Next j
'配列から検索
Dim Position As Integer
Position = Array.IndexOf(Lv1array, "TARGET")
Debug.WriteLine(Position, "配列内の場所")
LvArray は DataRow の配列です。
DataRow と String は比較できないので、LvArray から "TARGET" が見つかることはありません。
■No24662に返信(Hongliangさんの記事)
> LvArray は DataRow の配列です。
> DataRow と String は比較できないので、LvArray から "TARGET" が見つかることはありません。

Hongliangさんアドバイスありがとうございます。
やはり2次元配列には、配列全体と比較するので使えない訳ですね。

他の手段を考えてみます、ありがとうございました。
> やはり2次元配列には、配列全体と比較するので使えない訳ですね。
DataRow() はただの一次元の DataRow 配列であって、二次元配列ではありません。n次元配列という表現はちゃんと言語仕様で意味が定義されているので、それ以外に使うべきではありません。
配列全体と比較ってのも意味が分かりません。DataRow は配列じゃありませんよ。
■No24664に返信(Hongliangさんの記事)
>>やはり2次元配列には、配列全体と比較するので使えない訳ですね。
> DataRow() はただの一次元の DataRow 配列であって、二次元配列ではありません。n次元配列という表現はちゃんと言語仕様で意味が定義されているので、それ以外に使うべきではありません。
> 配列全体と比較ってのも意味が分かりません。DataRow は配列じゃありませんよ。

Hongliangさんアドバイスありがとうございます。
二次元配列ではないですね。すみませんでした。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板