첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170
#region 병합하기 - Merge(sourceByteArray1, sourceByteArray2)

/// <summary>
/// 병합하기
/// </summary>
/// <param name="sourceByteArray1">소스 바이트 배열 1</param>
/// <param name="sourceByteArray2">소스 바이트 배열 2</param>
/// <returns>타겟 바이트 배열</returns>
public byte[] Merge(byte[] sourceByteArray1, byte[] sourceByteArray2)
{
    byte[] targetByteArray = new byte[sourceByteArray1.Length + sourceByteArray2.Length];

    Buffer.BlockCopy(sourceByteArray1, 0, targetByteArray, 0                      , sourceByteArray1.Length);
    Buffer.BlockCopy(sourceByteArray2, 0, targetByteArray, sourceByteArray1.Length, sourceByteArray2.Length);

    return targetByteArray;
}

#endregion
#region 병합하기 - Merge(sourceByteArray1, sourceByteArray2, sourceByteArray3)

/// <summary>
/// 병합하기
/// </summary>
/// <param name="sourceByteArray1">소스 바이트 배열 1</param>
/// <param name="sourceByteArray2">소스 바이트 배열 2</param>
/// <param name="sourceByteArray3">소스 바이트 배열 3</param>
/// <returns>병합 바이트 배열</returns>
public byte[] Merge(byte[] sourceByteArray1, byte[] sourceByteArray2, byte[] sourceByteArray3)
{
    byte[] targetByteArray = new byte[sourceByteArray1.Length + sourceByteArray2.Length + sourceByteArray3.Length];

    Buffer.BlockCopy(sourceByteArray1, 0, targetByteArray, 0                                                , sourceByteArray1.Length);
    Buffer.BlockCopy(sourceByteArray2, 0, targetByteArray, sourceByteArray1.Length                          , sourceByteArray2.Length);
    Buffer.BlockCopy(sourceByteArray3, 0, targetByteArray, sourceByteArray1.Length + sourceByteArray2.Length, sourceByteArray3.Length);

    return targetByteArray;
}

#endregion
#region 병합하기 - Merge(sourceByteArrayArray)

/// <summary>
/// 병합하기
/// </summary>
/// <param name="sourceByteArrayArray">소스 바이트 배열 배열</param>
/// <returns>병합 바이트 배열</returns>
public byte[] Merge(params byte[][] sourceByteArrayArray)
{
    byte[] targetByteArray = new byte[sourceByteArrayArray.Sum(x => x.Length)];

    int offset = 0;

    foreach(byte[] sourceByteArray in sourceByteArrayArray)
    {
        Buffer.BlockCopy(sourceByteArray, 0, targetByteArray, offset, sourceByteArray.Length);

        offset += sourceByteArray.Length;
    }

    return targetByteArray;
}

#endregion
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요