子字符串与字符串不匹配

时间:2019-09-05 21:42:56

标签: vb.net

我有以下函数,当它打开文件以建立文件类型时不会返回正确的值。我在做什么错了?

前8个字符采用这种格式 %PDF-1.4

Function GetFileType(xFile As String) As Boolean
    Dim fileBytes As Byte()

    fileBytes = System.IO.File.ReadAllBytes(xFile)

    Dim s As String
    s = System.Text.Encoding.UTF8.GetString(fileBytes)

    Select Case s
        Case s.Substring(1, 3) = "PDF"
            GetFileType = False
        Case Else
            GetFileType = True
    End Select

End Function

它与case语句不匹配,它总是移到让我感到困惑的else部分。

1 个答案:

答案 0 :(得分:2)

为什么要尝试使用case语句?

在这种情况下(看看我在那儿做了什么?),一个简单的If将起作用:

Function GetFileType(xFile As String) As Boolean
    Dim fileBytes As Byte()

    fileBytes = System.IO.File.ReadAllBytes(xFile)

    Dim s As String
    s = System.Text.Encoding.UTF8.GetString(fileBytes)

    if s.Substring(1, 3) = "PDF" then
            GetFileType = False
    Else
            GetFileType = True
    End If

End Function