2009-08-25 35 views
5

¿Cómo verifico si el primer caracter de una cadena es un número en VB.NET?¿Cómo puedo averiguar si el primer carácter de una cadena es un número en VB.NET?

sé que la manera de Java de hacerlo es:

char c = string.charAt(0); 
isDigit = (c >= '0' && c <= '9'); 

Pero estoy seguro de cómo ir sobre él para VB.NET.

Gracias de antemano por cualquier ayuda.

+1

Como anotación al margen, su primera línea podía leer simplemente: 'Char c = miCadena [0];' –

+0

@MatthewScharley - No puede en VB .BET –

Respuesta

5

He aquí un programa de cero que proporciona la respuesta, esencialmente el "IsNumeric" función:

Sub Main() 
    Dim sValue As String = "1Abc" 
    Dim sValueAsArray = sValue.ToCharArray() 
    If IsNumeric(sValueAsArray(0)) Then 
     Console.WriteLine("First character is numeric") 
    Else 
     Console.WriteLine("First character is not numeric") 
    End If 

    Console.ReadLine() 
End Sub 
+5

La llamada a ToCharArray no es necesaria. El primer carácter de una cadena puede ser referenciado por sValue (0). –

6
Public Function StartsWithDigit(ByVal s As String) As Boolean 
     Return (Not String.IsNullOrEmpty(s)) AndAlso Char.IsDigit(s(0)) 
End Function 
0

Si yo fuera usted utilizará Dim bIsNumeric = IsNumeric (sValue.Substring (0 , 1)) y no Dim sValueAsArray = sValue.ToCharArray()

no importa lo que se utiliza, tanto dará el mismo resultado, pero habiendo dicho eso; Dim sValueAsArray = sValue.ToCharArray() usará más memoria & Dim bIsNumeric = IsNumeric (sValue.Substring (0,1)) utilizará menos recursos. aunque ambos son insignificantes

Es más una sugerencia de práctica de programación que cualquier otra cosa.

+0

De ahí que lo describa como un programa de cero. Por ejemplo, siempre renunciaré a la comprobación de errores y la brevedad para mayor claridad y para garantizar que la intención del código se muestre claramente – Rob

0
Public Function StartsWithDigit(ByVal s As String) As Boolean 
    Return s Like "#*" 
End Function 
Cuestiones relacionadas