|
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
Het type System.Collections.Generic.LinkedList(Of T) implementeert de interface ICollection(Of T) en is een strongly typed dubbel gelinkte lijst waarin elke node ( ILinkedListNode(Of T) ) zijn volgende ( Next ) en vorige ( Previous ) node kent : Visual Basic 2010 Broncode Option Strict OnImports System.Collections.Generic Namespace LinkedListOfTExample Public Class Person Private _Name As String Public Property Name() As String Get Name = _Name End Get Set( ByVal value As String) _Name = value End Set End Property Public Overrides Function Equals( ByVal obj As Object) As Boolean If obj IsNot Nothing AndAlso TypeOf obj Is Person Then Equals = Name.Equals( DirectCast(obj, Person).Name) End If End Function Public Overrides Function GetHashCode() As Integer GetHashCode = Name.GetHashCode() End Function End Class Public Class Client Public Shared Sub Main() Dim linkedList1 As New LinkedList( Of Person) Dim linkedListNode1 As LinkedListNode( Of Person) = _ linkedList1.AddFirst( New Person With {.Name = "John"}) Dim linkedlistnode2 As LinkedListNode( Of Person) = _ linkedList1.AddAfter(linkedListNode1, _ New Person With {.Name = "Jane"}) Console.WriteLine(linkedListNode1.Next Is linkedlistnode2) Console.WriteLine(linkedListNode1 Is linkedlistnode2.Previous) Console.WriteLine(linkedList1.Count) For Each element As Person In linkedList1 Console.WriteLine(element.Name) Next Console.WriteLine( _ linkedList1.Contains( New Person With {.Name = "John"})) Console.ReadLine() End Sub End ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output True
True
2
John
Jane
True Bemerk (1) dat LinkedList(Of T) ook IEnumerable(Of T) implementeert.
(2) Ook hier is het zo dat de Contains method van de collectie gebruikt maakt van de Equals method van de elementen om na te gaan of deze gelijk zijn aan de parameter.
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|