将字符串和数字比较从VB6转换为C#

时间:2014-05-27 08:04:34

标签: c# vba if-statement recordset

我必须将VB6中的一些代码翻译成C#。 rs是一个Recordset对象:

If rs.Fields("mycolumn") < 5 Then
   myarray(Val(rs.Fields("mycolumn"))) = myarray(Val(rs.Fields("mycolumn"))) + 1".
End If

这里的问题是比较列和数字,因为列是一个字符串。我已经尝试过VisualBasic Val() - 方法,但它的行为并不完全一样吗?

我使用了它,但它没有提供与VB6相同的表达式。有些记录通过,而不应该通过。

if (Microsoft.VisualBasic.Conversion.Val(rs.Rows[k]["mycolumn"]) < 5)
{

}

1 个答案:

答案 0 :(得分:0)

您应该使用int.Parseint.TryParse将字符串转换为数字,然后您可以进行比较:

if(int.Parse(rs.Rows[k]["mycolumn"]) < 5) { ... }