我正在将应用程序从 C# 转换为 VB,但我陷入了这一行:
byte[] picData = sdr2["foto"] as byte[] ?? null;
任何人都可以帮我转换它。
提前致谢
Dim picData As Byte() = If(TryCast(sdr2("foto"), Byte()), Nothing)
对于像这样的转换,您可以依靠大量的在线转换器来完成(相对)体面的工作。
查看http://www.developerfusion.com/tools/convert/csharp-to-vb/或其他任何数量的,有一个谷歌。
但是请注意,您的空合并运算符指出,在这种情况下,如果sdr2["foto"] as byte[]
返回null
,则返回null
...您可能需要修复该问题 ;-)
试试这个:
Dim picData As Byte() = If(TryCast(sdr2("foto"), Byte()), Nothing)
这是翻译 VB <-> C#的有用工具
Dim picData As Byte() = If(TryCast(sdr2("foto"), Byte()), Nothing)
正如 MarcinJuraszek 首先所说,?? null
这里没有任何意义,所以你应该使用:
Dim picData As Byte() = TryCast(sdr2("foto"), Byte())