-1
複数のバイト配列をマージしたいが失敗している。最後の配列は最後に追加されたバイト配列だけを表示し、すべてのバイト配列を表示しない。次は私の試しです。複数のバイト配列をマージするC#
List<byte[]> d = new List<byte[]>();
foreach (var item in IDs)
{
obj = RequisitionsObj.GenerateLabOrderReq();
if (obj.Data != null)
{
d.Add(obj.Data);
}
}
byte[] final = Combine(d.SelectMany(a => a).ToArray());
private byte[] Combine(params byte[][] arrays)
{
byte[] rv = new byte[arrays.Sum(a => a.Length)];
int offset = 0;
foreach (byte[] array in arrays)
{
System.Buffer.BlockCopy(array, 0, rv, offset, array.Length);
offset += array.Length;
}
return rv;
}
運!同じ結果を返します。 – ARC
サンプルを使って試しました(私の編集を見てください)、期待どおりに動作しました。あなたのコードで何か他のことが起こっているに違いありません –