2009-08-25 15 views
5

Come faccio a verificare se il primo carattere di una stringa è un numero in VB.NET?Come faccio a sapere se il primo carattere di una stringa è un numero in VB.NET?

So che il modo in cui Java di farlo è:

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

Ma io sono sicuri di come andare a questo proposito per VB.NET.

Grazie in anticipo per qualsiasi aiuto.

+1

Come sidenote, la prima linea potrebbe leggere semplicemente: 'char c = myString [0];' –

+0

@MatthewScharley - non può in VB .BET –

risposta

5

Ecco un programma graffio che si dà la risposta, in sostanza, la funzione "IsNumeric":

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 chiamata a ToCharArray non è necessaria. Il primo carattere di una stringa può essere referenziato da 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

Se fossi in te userò Dim bIsNumeric = IsNumeric (sValue.Substring (0 , 1)) e non Dim sValueAsArray = sValue.ToCharArray()

non importa quello che si utilizza, sia produrrà lo stesso risultato, ma detto questo; Dim sValueAsArray = sValue.ToCharArray() utilizzerà più memoria & Dim bIsNumeric = IsNumeric (sValue.Substring (0,1)) utilizzerà meno risorse. sebbene entrambi siano trascurabili

È più di un suggerimento di programmazione pratica che altro.

+0

Quindi descrivendolo come un programma scratch. Per un esempio, rinuncerò sempre alla verifica degli errori e alla brevità per chiarezza e assicurerò che l'intento del codice sia mostrato chiaramente – Rob

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