Vb.net 使检查字符串不区分大小写

Vb.net 使检查字符串不区分大小写,vb.net,Vb.net,我正在制作一个程序,用户在文本框中输入一个项目,程序将检查该项目是否在字符串中。这是我目前的代码: Try Dim Request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("https://www.dropbox.com/s/2l37j6v0ofsenus/Foods.txt?dl=1") Dim Response As System.Net.HttpWebRespo

我正在制作一个程序,用户在文本框中输入一个项目,程序将检查该项目是否在字符串中。这是我目前的代码:

     Try
        Dim Request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("https://www.dropbox.com/s/2l37j6v0ofsenus/Foods.txt?dl=1")
        Dim Response As System.Net.HttpWebResponse = Request.GetResponse()
        Dim sr As System.IO.StreamReader = New System.IO.StreamReader(Response.GetResponseStream)
        Dim Foods As String = sr.ReadToEnd()
        If Foods.Contains(TXTItem1.Text) Then
            Dim Substring As String = Foods.Split(TXTItem1.Text)(1)
            Dim SubString1 As String = Substring.Split("-")(1)
            Dim SPValue As String = SubString1.Split(vbNewLine)(0)
            MsgBox("That item is worth " + SPValue + " SmartPoints!", info)
        Else
            MsgBox("Item is not found in our list!", critical)
        End If

    Catch ex As Exception
        MsgBox("Error")
    End Try

我想让它在检查字符串时不区分大小写。因此,如果用户输入“eggs”并且字符串包含“eggs”,那么即使是小写,它也会执行该函数。我该怎么做?谢谢

中@jacob-h引用的链接问题已经有了您问题的答案,但我更喜欢在这种情况下使用扩展方法

这是我已经使用了一段时间的扩展方法版本。将新模块添加到项目中(或使用现有模块,如果您认为合适),然后将此扩展方法添加到项目中:

<Runtime.CompilerServices.Extension>
Public Function ContainsIgnoreCase(ByVal s As String, ByVal value As String)
    Return s.IndexOf(value, StringComparison.OrdinalIgnoreCase) >= 0
End Function

如果您将要测试的字符串转换为小写,并且将要测试的字符串转换为小写,那么就不再考虑大小写了


有一些函数可以为您做到这一点,但它们背后的逻辑始终是相同的。。。无大小写比较要求在进行比较之前将两个数据段转换为全小写(或全大写)。我

这应该足够回答这个问题:还有更多关于如何在这个MSDN链接上使用indexof的例子:正如YouTube上解释的那样,这种想法在某些文化中是错误的。(最好全部观看,但关于文本的部分大约在12:20开始。)
If Foods.ContainsIgnoreCase(TXTItem1.Text) Then
    ' Do your thing.
End If