Vb.net 在IF比较中忽略大小写

Vb.net 在IF比较中忽略大小写,vb.net,visual-studio,if-statement,case-sensitive,ignore-case,Vb.net,Visual Studio,If Statement,Case Sensitive,Ignore Case,有没有一种简单的方法可以与ignorecase ON进行比较 If file.Extension = ".Lnk" Then MsgBox(file.Extension) 我想做的是得到所有的“.lnk”或“.lnk”或“.lnk”或“.lnk”等 我知道这可能与正则表达式有关,但是…有一个简单的方法来实现这个例子吗 感谢阅读使用ToLower将扩展名转换为小写,然后进行比较 If file.Extension.ToLower = ".lnk" Then MsgBox(file.Extensi

有没有一种简单的方法可以与ignorecase ON进行比较

If file.Extension = ".Lnk" Then MsgBox(file.Extension)
我想做的是得到所有的“.lnk”或“.lnk”或“.lnk”或“.lnk”等

我知道这可能与正则表达式有关,但是…有一个简单的方法来实现这个例子吗


感谢阅读

使用ToLower将扩展名转换为小写,然后进行比较

If file.Extension.ToLower = ".lnk" Then MsgBox(file.Extension)

忘记这个正则表达式吧。它真的太过分了,不合适

使用它进行忽略案例比较

If String.Compare(file.Extension, ".lnk", True) = 0 Then MsgBox(file.Extension)

对于区分大小写的比较,将true更改为false

使用
字符串。对于字符串比较,使用Equals
。要忽略大小写,请使用
CurrentCultureInogoreCase
InvariantCultureInogoreCase

If String.Equals("AAA", "aaa", StringComparison.InvariantCultureIgnoreCase) Then

    'more code

End If

模块测试

Sub Main()
    Dim userString As String = Nothing
    Dim finalString As String = "Jacob"

    Console.WriteLine("Enter username")
    userString = Console.ReadLine()

    If String.Compare(finalString, userString, True) = 0 Then
        Console.WriteLine("Access Granted")
    Else
        Console.WriteLine("Access Denied")
    End If


    Console.ReadLine()

End Sub

End Module

否,它返回一个转换为小写的字符串
文件扩展名的副本,因此,在随后的比较中,您可以始终使用固定的小写字符串常量进行检查。我认为string.Equals更好,不需要“=0”部分,并且读起来更好。returns[<0-string 1小于string 2][>0-字符串1比字符串2大][=0-两者相等]