LINQを使用しての2次元配列のデータ]取得

解決


himizu  2012-03-16 14:52:56  No: 147510  IP: 192.*.*.*

XData配列

ID    InfoA    InfoB    InfoC
01    100      200      300
02    50       500      300
03    50       100      300

上記の様な、データのリストがあったとします。


そこでVB2008以降で提供されているLINQを使って
XData配列のID「02」のInfoBの値(500)を取得することは可能でしょうか?


以下の様な処理をループを回すことなく
値を取得したいのですが。。

Dim ans as Intger

For i = 0 to XData.Count -1
  If XData.ID = 02 Then
      ans = XData.InfoB
  End If
Next

ansは500



ご教示よろしくお願いいたします。

編集 削除
魔界の仮面弁士  2012-03-16 15:23:21  No: 147511  IP: 192.*.*.*

> ループを回すことなく値を取得したいのですが。。

たとえば、下記のようにして取得できます。
Dim ans As Integer = Array.Find(XData, Function(c) c.ID = "02").InfoB


> LINQを使って

Linq で処理したいのであれば、ID で Where してから InfoB を Select すれば OK かと。

編集 削除
himizu  2012-03-21 21:10:28  No: 147512  IP: 192.*.*.*

遅くなりました。
ご回答有難う御座います。

Array.Findを使用させて頂きました。

編集 削除