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

解決


himizu  2012-03-16 23:52:56  No: 147510

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-17 00:23:21  No: 147511

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

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

> LINQを使って

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


himizu  2012-03-22 06:10:28  No: 147512

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加