如何使用 hashset(Of String) 查找最佳匹配忽略大小写

问题描述 投票:0回答:1

我找到了以下函数来将文本与列表(字符串)进行比较。现在我想知道是否可以使其在比较中忽略大小写,如果可以,我将如何更改此代码?

    Public Shared Function FindBestMatch(ByVal stringToCompare As String, ByVal strs As IEnumerable(Of String)) As String
        Dim strCompareHash As HashSet(Of String) = stringToCompare.Split(Microsoft.VisualBasic.ChrW(32)).ToHashSet
        Dim maxIntersectCount As Integer = 0
        Dim bestMatch As String = String.Empty
        For Each str As String In strs
            Dim strHash As HashSet(Of String) = str.Split(Microsoft.VisualBasic.ChrW(32)).ToHashSet
            Dim intersectCount As Integer = strCompareHash.Intersect(strHash).Count
            If (intersectCount > maxIntersectCount) Then
                maxIntersectCount = intersectCount
                bestMatch = str
            End If

        Next
        Return bestMatch
    End Function

任何指导将不胜感激

我看到的所有建议我都无法实施。

vb.net function hashset
1个回答
0
投票

HastSet(Of T)
类有一个构造函数,可让您指定比较器。这同样适用于 LINQ 方法
ToHashSet

Dim comparer = StringComparer.OrdinalIgnoreCase
Dim strCompareHash As HashSet(Of String) = stringToCompare.
    Split(Microsoft.VisualBasic.ChrW(32)).
    ToHashSet(comparer)
© www.soinside.com 2019 - 2024. All rights reserved.