2013-08-16 94 views
1

不知道我是否做錯了或不是,基本上我的代碼從「111111111」開始,並在每次線程能夠時向原始數字添加「1」進行計數。但是我希望方法在序列中跳過0,而不是在「111111119」之後去「111111120」,我希望它直接跳到「111111121」。VB.Net替換不工作?

Private Sub IncreaseOne() 
    If count < 999999999 Then 
     count += 1 
    Else 
     done = True 
    End If 
    If CStr(count).Contains("0") Then 
     MsgBox("theres a 0 in that...darn.") 
     CStr(count).Replace("0", "1") 
    End If 
    End Sub 

*注意,我的消息框顯示,當它是假設,但0不會更改爲1秒

回答

7

與替換的效果Replace返回一個字符串,它不工作不到位。 ...
(請記住,在NET中的字符串是不可變的對象)

Dim replaced = CStr(count).Replace("0", "1") 

但是你需要獲得一個整數的字符串轉換和重新分配計數。

count = Convert.ToInt32(replaced) 
+1

非常感謝你,我忘了這是一個功能,而不是一個方法。 – jgetrost

0

替換是一個返回sting的函數。

換句話說,你需要一個變量來保存結果,這樣的:

Dim newValue = CStr(count).Replace("0", "1")