Überprüfung des gültigen Dateinamens. Was ist der beste Weg?

Siehe Thema der Stellungnahme für die Frage.

1) Ich erinnere mich, dass ich eine wirklich coole Option in VB.NET mit LINQ gesehen habe, die mit "LIKE%" übereinstimmt.

2) Ich weiß, dass reguläre Ausdrücke funktionieren werden und ich vermute, dass dies den kürzesten Code ergibt und wahrscheinlich für einen so einfachen Test nicht zu schwer zu lesen ist.

Hier ist was ich getan habe. Warnung: Du wirst es hassen.

<code>Private Shared Function FileNameIsOk(ByVal fileName As String) As Boolean

    For Position As Integer = 0 To fileName.Length - 1

        Dim Character As String = fileName.Substring(Position, 1).ToUpper
        Dim AsciiCharacter As Integer = Asc(Character)

        Select Case True

            Case Character = "_" 'allow _
            Case Character = "." 'allow .
            Case AsciiCharacter >= Asc("A") And AsciiCharacter <= Asc("A") 'Allow alphas
            Case AsciiCharacter >= Asc("0") AndAlso AsciiCharacter <= Asc("9") 'allow digits

            Case Else 'otherwise, invalid character
                Return False

        End Select

    Next

    Return True

End Function
</code>

Antworten auf die Frage(11)

Ihre Antwort auf die Frage