C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 43 を表示中)
■23054 / )  LINQ to Objectで更新処理
□投稿者/ 鶏唐揚 (265回)-(2008/08/07(Thu) 18:23:31)

分類:[その他の言語] 

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では登録/更新/削除ができないのか…

ご教示いただけたらと思います
よろしくお願いします

返信 編集キー/


管理者用

- Child Tree -