分類:[その他の言語]
2008/08/07(Thu) 18:24:54 編集(投稿者)
[VB]2008
[OS]Vista
お世話になっております。今回ちょいとLINQを触ってみました。
構造体の配列があり、特定のメンバでフィルタリングして抽出 -> 更新して戻す
というのをやりたいのですが、LINQ to SQLでの更新を参考に組んでみたところ
コンパイルエラー「Expressionは値であるため、代入式のターゲットにすることはできません」となります
#変数名とかは、即興で確認してみたかったため適当です。お見逃しください。
Private Structure TEST
Dim dat As String
Dim stat As Integer
End Structure
Private t(99) As TEST
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim r As Random
Dim i As Integer
For i = 0 to 99
'0か1か
t(i).stat = r.Next(0, 2)
t(i).dat = ""
Next
'ステータスが1のもののみ抽出
Dim lq = From n In t _
Where n.stat = 1
If lq.Count = 0 Then
MsgBox("データないお")
Else
For i = 0 To lq.Count - 1
lq(i).dat = "ステータスが1"
Next
End If
End Sub
上記コードで「lq(i).dat = "ステータスが1"」の部分でエラーとなります
やり方が間違っているのか、そもそもLINQ to Objectでは登録/更新/削除ができないのか…
ご教示いただけたらと思います
よろしくお願いします