You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET中如何将Byte类型转换为Byte()数组?

解决Byte转Byte()数组的问题

首先,你报错的核心原因是Convert.ToByte()的作用是将值转换为单个Byte类型,而非Byte()数组,直接调用必然会出现类型不匹配。要把单个Byte转换成Byte()数组,最简单的方式是直接初始化一个包含该Byte元素的数组:

' 获取单个Byte(注意:FileLen是Long类型,用CByte转换会截断数据,若文件长度超过255会丢失有效信息)
Dim Bytes As Byte = CByte(FileLen(dlgSave.FileName))
' 将单个Byte包装为Byte()数组
Dim BytesFin() As Byte = {Bytes}

随后修改调用代码,传入数组参数即可:

SaveFile(dlgSave.FileName, BytesFin, True)

额外注意事项

这里存在一个潜在的逻辑问题:FileLen()返回的是Long类型(代表文件的总字节数),如果目标文件长度超过255,CByte()会直接截断高位数据,得到的结果完全错误。如果你实际需求是读取文件的字节内容而非文件长度的Byte值,应该直接读取文件到Byte数组,而非转换FileLen的结果:

Dim BytesFin() As Byte = My.Computer.FileSystem.ReadAllBytes(dlgSave.FileName)

这样能正确获取文件的全部字节数据,传入SaveFile函数即可正常工作。

内容的提问来源于stack exchange,提问作者WHerschel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 19:42:03