1
我有一個Pump類型的對象列表,其中每個對象都持有對Valve類型對象的引用,並通過其屬性Valve顯示。如何僅從列表中選擇非空對象
Public Class Pump
Private _valve As Valve 'may be Nothing
Public ReadOnly Property Valve() As Valve
Get
Return _valve
End Get
End Property
End Class
但是,閥門可以存在或只是沒有。
有沒有一種簡單的方法來選擇所有的閥門,並把它們放在一個列表中?
我嘗試這樣做:
_pumps.Select(Of Valve)(Function(p As Pump) p.Valve).ToList
但我得到一個清單,有些是沒有對象的,因爲沒有閥門asigned給記者泵。
我終於做到了這一點:
Dim valves As New List(Of Valve)
For Each p As PumpIn _pumps
If p.Valve IsNot Nothing Then
valves.Add(p.Valve)
End If
Next
但我不知道是否有這樣做的更緊湊的方式:
謝謝!
WHERE子句應檢查不爲空閥泵空。 – 2014-08-29 18:39:07
@ meta-knight你是對的,我改變了它,雖然我認爲downvote在這種情況下有點過於苛刻。 ;-) – 2014-08-29 18:42:56
是的,你是在正確的軌道上,現在它是固定的。 Upvoted改爲:-)另外需要注意的是,您可以在沒有「(閥門)」和「As Pump」部件的情況下編寫'.Select(Function(p)p.Valve)',這些部件是多餘的。 – 2014-08-29 18:56:24