Remove element from HashSet with condition function : HashSet « Data Structure « VB.Net

Remove element from HashSet with condition function


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)()


        allVehicles.RemoveWhere(AddressOf isNotWhatIWant)

        For Each vehicle As String In allVehicles
        Next vehicle
    End Sub

    Private Shared Function isNotWhatIWant(ByVal vehicle As String) As Boolean
        Dim notWhatIWant As Boolean = (vehicle <> "One") And (vehicle <> "Two")

        Return notWhatIWant
    End Function
End Class

Class NumberComparer
    Inherits EqualityComparer(Of String)

    Public Overrides Function Equals(ByVal s1 As String, ByVal s2 As String) As Boolean
        Return s1.Equals(s2, StringComparison.CurrentCultureIgnoreCase)
    End Function

    Public Overrides Function GetHashCode(ByVal s As String) As Integer
        Return MyBase.GetHashCode()
    End Function
End Class


Related examples in the same category

1.KeyedCollection(TKey, TItem) is the abstract base class for a collection whose keys are embedded in the values.
2.Lookup(TKey, TElement) Represents a collection of keys each mapped to one or more values.
3.ReadOnlyCollection(T) Class Provides the base class for a generic read-only collection.
4.HashSet(T) Class Represents a set of values.
5.Create a HashSet from another HashSet
6.Create HashSet(Of T) class that uses the default equality comparer for the set type
7.Create HashSet(Of T) class from another collection
8.HashSet(T).Clear Method removes all elements from a HashSet(Of T) object.
9.HashSet(T).Contains Method tells whether a HashSet(Of T) object contains the specified element.
10.HashSet(T).ExceptWith Method removes all elements in the specified collection from the current HashSet(Of T) object.
11.HashSet(T).IsProperSubsetOf Method tells whether a HashSet(Of T) object is a proper subset of the specified collection.
12.HashSet(T).SymmetricExceptWith Method keeps elements that are present either in that object or in the specified collection, but not both.