我正在将一个应用程序从C#转换为VB,但我被困在这一行:
byte[] picData = sdr2["foto"] as byte[] ?? null;
任何人都可以帮我转换它。
提前致谢
答案 0 :(得分:0)
Dim picData As Byte() = If(TryCast(sdr2("foto"), Byte()), Nothing)
对于像这样的转换,您可以依靠过多的在线转换器来完成(相对)体面的工作。
查看http://www.developerfusion.com/tools/convert/csharp-to-vb/或其他任何人,请点击Google。
请注意,在这种情况下,您的空合并运算符会指出,如果sdr2["foto"] as byte[]
返回null
,则返回null
...您可能想要解决此问题; - )
答案 1 :(得分:0)
尝试this:
Dim picData As Byte() = If(TryCast(sdr2("foto"), Byte()), Nothing)
答案 2 :(得分:0)
这是翻译VB< - >的useful tool C#
Dim picData As Byte() = If(TryCast(sdr2("foto"), Byte()), Nothing)
正如MarcinJuraszek首先所说,?? null
在这里没有任何意义,所以你应该使用:
Dim picData As Byte() = TryCast(sdr2("foto"), Byte())