大家好我已经尝试将c#代码转换为vb,但在此行中收到错误,因为“预期表达式”可能是错误,什么是正确的语法。错误在第二行
Dim m As MenuItem = TryCast(sender, MenuItem)
audioDevice = (If(m.Index>0, filters.AudioInputDevices(m.Index-1), Nothing))
C#CODE
MenuItem m = sender as MenuItem;
audioDevice = ( m.Index>0 ? filters.AudioInputDevices[m.Index-1] : null );
答案 0 :(得分:4)
您运行的是VB.Net 2008或更高版本吗?早期版本不支持If
运算符。
由于非短路Iif
函数会导致表达式的真实部分导致索引超出范围,因此如果您需要之前的版本,则应使用If Then Else
语句2008年获得支持。
答案 1 :(得分:1)
试试这个
Dim m As MenuItem = TryCast(sender, MenuItem)
audioDevice = (IIf(m.Index>0, filters.AudioInputDevices(m.Index-1), Nothing))
IIf Function MSDN Documentation
由于不推荐使用IIf功能,请使用
If m.Index>0 Then
audioDevice = filters.AudioInputDevices(m.Index-1)
Else
audioDevice = Nothing
End If
<强> Sample 强>
希望有所帮助
答案 2 :(得分:-1)
这可能是我找到的最好的工具!我已经成为一名开发人员超过10年,当我发现这一点时(并且大多数在线示例都在C中,这只是GOLDEN!)..希望这可以帮到你! (还有其他任何人都没有偶然发现这个'宝石'......最后VB编码器可以更好地访问在线示例...注意*这不是唯一的代码转换器,但它是迄今为止我用过的最好的代码转换器使用..也许如果你再次使用它转换代码,你的麻烦可能会被解决.......
http://converter.telerik.com/(在转换方面做得非常出色)