如何将此VBNet代码转换为C#? (ByteToImage
是用于将字节数组转换为位图的用户定义函数。
Dim Bytes() As Byte = CType(SQLreader("ImageList"), Byte())
picStudent.Image = jwImage.ByteToImage(Bytes)
我试过
byte[] Bytes = Convert.ToByte(SQLreader("ImageList")); // Error Here
picStudent.Image = jwImage.ByteToImage(Bytes);
但会产生错误:Cannot implicitly convert type 'byte' to 'byte[]'
我正在做的基本上是将图像从数据库转换为字节数组并将其显示在图片框上。
答案 0 :(得分:11)
byte[] Bytes = (byte[]) SQLreader("ImageList");
picStudent.Image = jwImage.ByteToImage(Bytes);
答案 1 :(得分:5)
试试这个
byte[] Bytes = (byte[])SQLreader("ImageList");
希望这有帮助
答案 2 :(得分:3)
问题是你有一个字节数组(在C#中为byte[]
,在VB.Net中有Byte()
),但Convert.ToByte
调用只返回一个简单的byte
。要完成此项工作,您需要将SQLreader
的返回值转换为byte[]
。
C#中CType
没有完美的类似构造,但是这里的简单演员应该可以做到这一点
byte[] Bytes = (byte[])SQLreader("ImageList");
答案 3 :(得分:2)
CType相当于类型转换,而不是实际转换。此外,Convert.ToByte尝试将其输入转换为单个字节,而不是数组。等效代码是
byte[] bytes=(byte[])SQLreader("ImageList");