[英]Code conversion from C# to VB.NET
大家好,我嘗試過將c#代碼轉換為vb,但是在此行中出現“期望表達”錯誤,這可能是錯誤,什么是正確的語法。 錯誤在第二行
Dim m As MenuItem = TryCast(sender, MenuItem)
audioDevice = (If(m.Index>0, filters.AudioInputDevices(m.Index-1), Nothing))
C#代碼
MenuItem m = sender as MenuItem;
audioDevice = ( m.Index>0 ? filters.AudioInputDevices[m.Index-1] : null );
您正在運行VB.Net 2008或更高版本嗎? 早期版本不支持If
運算符。
由於非短路Iif
函數將導致表達式的真值部分導致索引超出范圍,因此, If Then Else
要支持2008之前的版本,則應使用If Then Else
語句。
嘗試這個
Dim m As MenuItem = TryCast(sender, MenuItem)
audioDevice = (IIf(m.Index>0, filters.AudioInputDevices(m.Index-1), Nothing))
由於不推薦使用IIf函數,因此請像這樣使用
If m.Index>0 Then
audioDevice = filters.AudioInputDevices(m.Index-1)
Else
audioDevice = Nothing
End If
希望能幫助到你
這可能是我找到的最好的工具! 當我從事開發工作已超過10年時,我發現了這一點(並且大多數在線示例都在C中,這只是金色!)..希望這對您有所幫助! (還有其他沒有偶然發現過這個“寶石”的人。。。最后,VB編碼人員可以更好地訪問在線示例。也許如果您再次使用此方法轉換代碼,則可能會解決您的麻煩。
http://converter.telerik.com/ (在轉換方面做得很棒)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.