【发布时间】:2014-05-27 16:09:40
【问题描述】:
我必须将一些代码从 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)
{
}
【问题讨论】:
-
那么
"somestring" < 5的结果应该是什么?是真是假? -
也许这会有所帮助:stackoverflow.com/a/472555/1380061
标签: c# vba if-statement recordset