C# 잘못된 배열 병합(합치기)
① C#은 C와 달리 배열 복사하는 기능에 대한 유연함에 있어 불편함 을 느낄 수 있다.
② for loop 를 사용해 처리 가능하다. 다만, 잘못된 CopyTo() 메서드 사용은 문제의 소지가 있다.
③ 주로 네트워크 통신 기능 구현에서 많이 활용하므로 잘 이해하도록 하자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
///잘못된 C# 배열 병합(합치기)
byte[] a= new byte[3]{1,2,3};
byte[] b= new byte[4]{4,5,6,7};
byte[] c= byte[a.Length+b.Length];
a.CopyTo(c,0);
b.CopyTo(c,a.Length);
/*
코드 리뷰만 하면 정확한 기능 구현으로 보이지만,
CopyTo의 두 번째 인자의 잘못된 사용으로 인해 c={7,2,3} 가 출력된다.
즉, 잘못된 병합(합치기)로 볼 수 있다.
*/
|
cs |
C#정확한 배열 병합(합치기)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 |
/// C# 배열 병합(합치기)
byte[] a= new byte[3]{1,2,3};
byte[] b= new byte[4]{4,5,6,7};
byte[] c= byte[a.Length+b.Length];
Array.Copy(a, 0, c, 0, a.Length);
Array.Copy(b, 0, c, a.Length,b.Length);
/*
Array.Copy() 메소드를 사용해 정확하게 병합이 가능하다.
*/
|
cs |
C# 코딩 시에 배열 및 바이트를 변환, 병합, 계산 등 잘 핸들링 할 수 있도록 개발 스킬을 높여보자.
'언어 > C#' 카테고리의 다른 글
C#- 스택(Stack) 클래스 기본 구현 사용 및 예제 (0) | 2018.06.14 |
---|---|
C#- 제네릭(Generic) & 델리게이트(Delegate) 기본 예제 (0) | 2018.04.09 |
C#- 문자열(String)을 날짜(DateTime) 형식으로 변환 (2) | 2018.01.27 |
C# - 문자열(String) 에서 숫자만 추출 하기 (0) | 2017.09.18 |