【问题标题】:VB.Net Replace not working?VB.Net 替换不起作用?
【发布时间】:2013-08-16 22:13:45
【问题描述】:

不确定我是否做错了什么,基本上我的代码从“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

*注意,我的消息框会显示,但是,0s 不会更改为 1s

【问题讨论】:

    标签: vb.net replace


    【解决方案1】:

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

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

    但是你需要将获得的字符串转换为整数并重新赋值给count。

    count = Convert.ToInt32(replaced)
    

    【讨论】:

    • 非常感谢,我忘了这是一个函数而不是一个方法。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2018-05-02
      • 2018-04-27
      • 2018-03-15
      • 2015-02-21
      • 2013-03-09
      • 1970-01-01
      相关资源
      最近更新 更多