Verificación válida de nombre de archivo. ¿Cuál es la mejor manera?
Ver tema de la postulación para la pregunta.
1) Recuerdo haber visto una opción realmente genial en VB.NET usando LINQ para coincidir usando "LIKE% '
2) Sé que las expresiones regulares funcionarán y sospecho que resultará en el código más corto y que probablemente no será demasiado difícil de leer para una prueba tan simple.
Esto es lo que hice. Advertencia: lo vas a odiar.
<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>