将字节数组传输到码dom会给我一个错误
本文关键字:错误 一个 数组 字节数 字节 传输 dom | 更新日期: 2023-09-27 17:51:04
伙计们,我正在做一个项目我需要生成一个包含另一个可执行文件字节数组的可执行文件,基本上我的程序加载一个可执行文件并将所有相应的字节存储在一个数组中然后我给codedom提供我要构建的可执行文件的源代码然后循环遍历包含可执行文件的bytearray并将其添加到codedom源代码中的新bytearray中然后再用codedom进行编译
在编译program2之前,是否有一种更简单的方法将字节数组从program1传递到program2的源代码?我应该提到我已经将源分成3部分,以便我可以将bytearray:S添加到源字符串O.o
我已经查看了完成的代码,并没有什么问题,但当我用codedom编译它时,我得到以下错误
Error: C'Users'*myname*'AppData'Local'Temp'ycfx9ffp.0.cs(1,246) : error CS0031: Constant value '197185' cannot be converted to a 'byte'
和我不知道如何调试字符串lol:S
这是我用来向源文件添加字节的循环:
foreach(byte mybyte in stryker)
{
if (mybyte != stryker[stryker.Length - 1])
part2 += mybyte + ", ";
else
part2 += mybyte;
}
string source = part1 + part2 + part3;
这部分:
if (mybyte != stryker[stryker.Length - 1])
part2 += mybyte + ", ";
似乎假定"stryker"中的字节是唯一的——也就是说,最后一个值(stryker[stryker] .)长度- 1])没有出现在其他任何地方。
是这样吗?
正如500所指出的,如果字节数组中有一个字节与最后一个字节相同,那么您的代码将无法正常工作,这是很有可能的。
修复代码最简单的方法可能是使用库方法来组合字节:part2 = string.Join(", ", stryker);
但是在源代码中有一个字节数组对我来说听起来不像一个好主意。我认为你应该使用嵌入式资源。