본문 바로가기
개발 이야기/C# 이야기

C# 배열복사 에러 예외 ArrayTypeMismatchException

by 런던살자 2023. 1. 7.

C언어에 메모리복사를 하는 memcpy가 있듯이 C#에서도 유사하게 배열을 복사할수 있는데요

바로 Array.Copy를 이용하는 방법입니다.

그런데 이 Array.Copy를 이용하다 에러가 발생하였습니다.

 

ArrayTypeMismatchException 에러 인데요

한번 코드를 살펴보겠습니다.

char[] chState = new byte[4]; byte[] byState = new byte[4]; Array.Copy(chState, 0, byState, 0, 4); // 에러 발생 ArrayTypeMismatchException

코드를 보면 char 배열을 byte 배열로 복사를 하려고 해서 에러가 발생하였습니다.

 

다른 타입으로 복사하는 거면 몰라도 같은 1byte인데도 다른 타입이라면 에러가 발생하는군요

C언어의 memcpy처럼 로우하게 복사가 되지 않나봅니다.

해결방법은 변수타입을 맞춰주거나 반복문을 통해서 일일이 복사하는 방법이 있겠습니다.

댓글