List(Of T) filtern

10/03/2009 - 08:48 von andi rickenbach | Report spam
Hallo,

ich arbeite mit vb.net 2008 und möchte eine List(Of T) filtern?

Ich möchte eine List(Of myItem) entweder filtern nach myItem.myNumber oder
aus dieser Liste eine neue generieren, welche nur die gewünschten myItems
enthàlt.

Wie mache ich das?

Dim myList As List(Of myItem)

Public Class myItem

Private m_myText As String
Property myText() As String
Get
Return m_myText
End Get
Set(ByVal value As String)
m_myText = value
End Set
End Property

Private m_myNumber As Integer
Property myNumber() As Integer
Get
Return m_myNumber
End Get
Set(ByVal value As Integer)
m_myNumber = value
End Set
End Property

End Class


Vielen Dank.
 

Lesen sie die antworten

#1 Elmar Boye
10/03/2009 - 09:23 | Warnen spam
Hallo Andi,

andi rickenbach schrieb:
Hallo,

ich arbeite mit vb.net 2008 und möchte eine List(Of T) filtern?

Ich möchte eine List(Of myItem) entweder filtern nach myItem.myNumber oder
aus dieser Liste eine neue generieren, welche nur die gewünschten myItems
enthàlt.



Dafür eignet sich LINQ (To Objects) hervorragend.

Ein ganz simples Beispiel, da du nicht konkreter geworden bist:

myList.Add(New myItem() With {.myNumber = 4711, .myText = "Text zu 4711"})
myList.Add(New myItem() With {.myNumber = 4712, .myText = "Text zu 4712"})

Dim newlist = (From item In myList _
Where item.myNumber = 4711 _
Select item).ToList()

Mehr zu den Grundlagen:
<URL:http://msdn.microsoft.com/de-de/lib...0.aspx>
"Erste Schritte mit LINQ in Visual Basic"

und eine Sammlung von Beispielen:
<URL:http://msdn.microsoft.com/en-us/vba...8.aspx>
"101 Visual Basic LINQ Samples"

Gruß Elmar

Ähnliche fragen