我正在執行以下代碼以在對象列表被髮送出去之前進行過濾以進行打印。由於LINQ查詢而被修改的默認對象
Dim printList As New List(Of dispillPatient)
For Each pat As dispillPatient In patList
If (From meds In pat.Medication Select meds Where meds.Print = True).Count > 0 Then
Dim patAdd As New dispillPatient
patAdd = pat
patAdd.Medication = DirectCast((From meds In pat.Medication Select meds Where meds.Print = True).ToList, List(Of dispillMedication))
printList.Add(patAdd)
End If
Next
正在發生的事情是patList
,這是我的初步名單,爲每一位dispillPatient
它內部的,即特定病人用藥對象(這是另一個列表),被縮短到返回到patAdd
名單目的。
我認爲這與.NET使我的pat
對象的副本在做patAdd = pat
和我正在使用的LINQ查詢時的方式有關。有沒有人有過類似的問題之前和\或我能做些什麼來保持我的初始名單被截斷。