Imports System
Imports System.Collections.Generic
Class Program
Public Shared Sub Main()
Dim compareVehicles As New NumberComparer()
Dim allVehicles As New HashSet(Of String)(compareVehicles)
Dim someVehicles As New List(Of String)()
someVehicles.Add("One")
someVehicles.Add("Two")
someVehicles.Add("Three")
allVehicles.UnionWith(someVehicles)
For Each vehicle As String In allVehicles
Console.WriteLine(vehicle)
Next vehicle
allVehicles.Add("Four")
allVehicles.Add("Five")
allVehicles.Add("One")
For Each vehicle As String In allVehicles
Console.WriteLine(vehicle)
Next vehicle
Console.WriteLine(allVehicles.IsSupersetOf(someVehicles))
Console.WriteLine(allVehicles.Contains("One"))
allVehicles.ExceptWith(someVehicles)
For Each vehicle As String In allVehicles
Console.WriteLine(vehicle)
Next vehicle
End Sub
End Class
Class NumberComparer
Inherits EqualityComparer(Of String)
Public Overrides Function Equals(s1 As String, s2 As String) As Boolean
Return s1.Equals(s2, StringComparison.CurrentCultureIgnoreCase)
End Function
Public Overrides Function GetHashCode(s As String) As Integer
return MyBase.GetHashCode()
End Function
End Class