Допустимая проверка имени файла. Какой самый лучший способ?

Смотрите тему постановки вопроса.

1) Я помню, что видел очень интересный вариант в VB.NET, использующий LINQ для сопоставления, используя & quot; LIKE% & apos;

2) Я знаю, что регулярные выражения будут работать, и я подозреваю, что это приведет к самому короткому коду и, вероятно, не будет слишком сложным для чтения для такого простого теста.

Вот что я сделал. Предупреждение: ты будешь ненавидеть это.

<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>

Ответы на вопрос(11)

Ваш ответ на вопрос