vb.net如何检查字符串是否包含Dictionary(或数组)键的值之一

时间:2015-05-22 17:51:40

标签: vb.net

我需要检查一个字符串是否包含Hashset的一个值(字符串)

我能够做到,但我已经搜索了更快的代码。我找到了仅针对c#,java,phyton的解决方案,但没有为vb.net提供解决方案

这是我使用的代码示例:

    Dim mDict = New Dictionary(Of String, String)
    Dim ArrStr() As String = {"First:", "Second:", "Third:"}
    Dim StringA$ = "Second: It works!"

For Each k As String In ArrStr
    If StringA.Contains(k) Then
        mDict(k) = StringA
        Exit For
    End If
Next k

我的问题是:有没有办法避免循环?

编辑:

我要感谢大家给我的建议和澄清。 我已经明白我的问题没有答案,也许这是一个糟糕的问题。

我还没有得到答案,但我已经学到了一些东西......再次感谢

1 个答案:

答案 0 :(得分:4)

您可以使用LINQ,但它仍会在内部执行循环:

mDict = ArrStr.Where(Function(x) StringA.Contains(x))
              .ToDictionary(Function(x) x, Function(x) StringA)