2011-09-18 37 views

回答

2

最有效的方法是簡單地遍歷字符串的字符並計算每個字符的數字,即0,直到讀取非0字符。

我不使用VB.NET多,所以這只是一些粗略的VBish僞代碼

Dim myString As String = "00001" 
Dim count As Integer = 0 
For Each c As Char In myString 
    If C = "0"c Then 
    count += 1 
    Else 
    Exit For 
    End If 
Next 
+0

謝謝..非常多 – user867621

+0

這是一種享受! –

2

這裏是沒有for循環可見一條線答案。

Module Module1 

    Sub Main() 
     Console.WriteLine(GetLeadingZeros("00001")) 
     Console.WriteLine(GetLeadingZeros("0889")) 
     Console.WriteLine(GetLeadingZeros("1")) 
     Console.WriteLine(GetLeadingZeros("00101")) 
     Console.WriteLine(GetLeadingZeros("11111")) 
     Console.WriteLine(GetLeadingZeros("10001")) 
     Console.ReadLine() 
    End Sub 

    Public Function GetLeadingZeros(ByVal input As String) As String 
     Return input.Substring(0, input.IndexOf(input.SkipWhile(Function(e) e = "0")(0))) 
    End Function 
End Module 
+0

是否比另一個效率更高(循環一)我知道如何使用for/while來解決它,但是我正在尋找一個高效的解決方案。 –

相關問題