【问题标题】:VB6 code explanationVB6代码说明
【发布时间】:2015-08-16 15:14:10
【问题描述】:

我需要将当前在 VB6 中的一些遗留代码转换为 C#。我无法理解这段代码。尤其是 InStr 函数,有人可以帮我解决这个问题并建议我使用它的 C# 等价物。

For i = 1 To Len(sString)
sChar = Mid$(sString, i, 1)
iPos = InStr(1, "0123456789", sChar, vbBinaryCompare)
If iPos > 0 Then
sRetStr = sRetStr & sChar
End If
Next i

【问题讨论】:

标签: vb.net vb6


【解决方案1】:

InStr 在另一个字符串中找到一个字符串的(从一个开始的)索引。现代 .Net 字符串方法中最接近的等价物是 .IndexOf。但是,我会用这个 C# 语句替换您的代码。

string sRetStr = (sString.Where((c) => char.IsDigit(c)).ToArray()).ToString();

【讨论】:

    【解决方案2】:

    我会将代码缩减为:

    sRetStr = Regex.Replace(sSTring, "[^0-9]", "");
    

    【讨论】:

      猜你喜欢
      • 2012-06-25
      • 2013-05-01
      • 2013-09-12
      • 2017-01-23
      • 2014-09-21
      • 2016-06-01
      • 2015-01-13
      • 2010-11-25
      • 1970-01-01
      相关资源
      最近更新 更多