본문 바로가기

프로그래밍/C#

[C#] 바이트(Byte) 배열 합치기

시리얼 통신 도중에 데이터 받을 일이 생겼는데

실시간으로 받으면 한번에 받는 것이 아니라 짤려서 데이터를 받아와서

버퍼에 데이터를 차례대로 쌓아두는 부분을 만들다가 잘 안돼서 검색해봤더니

Array.Copy 라는 함수가 있었다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
 
namespace MergeByteArray
{
    class Program
    {
        static void Main(string[] args)
        {
            byte[] arrA = new byte[2] { 12 };
            byte[] arrB = new byte[3] { 345 };
 
            byte[] arrC = new byte[arrA.Length+arrB.Length];
 
            Array.Copy(arrA, 0, arrC, 0, arrA.Length);
            Array.Copy(arrB, 0, arrC, arrA.Length, arrB.Length);
 
            for (int i = 0; i < arrC.Length; i++)
            {
                Console.Write("{0}  ",arrC[i]);
            }
        }
    }
}
cs

결과 값 :     1  2  3  4  5


사용시 참고.