1

不确定我是否做错了什么,基本上我的代码从“111111111”开始,并且每次线程能够通过将“1”添加到原始数字来进行计数。我希望该方法在序列中跳过 0,而不是在“111111119”之后转到“111111120”,我希望它直接转到“111111121”。

    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

4

2 回答 2

7

替换返回一个具有替换效果的字符串,它不起作用......
(请记住,在 NET 中,字符串是不可变对象)

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

但是,您需要将获得的字符串转换为整数并重新分配给计数。

count = Convert.ToInt32(replaced)
于 2013-08-16T22:14:44.603 回答
0

Replace 是一个返回字符串的函数。

换句话说,您需要一个变量来保存结果,如下所示:

Dim newValue = CStr(count).Replace("0", "1")
于 2013-08-16T22:16:47.010 回答