Data Structure VB.Net

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