인프런 커뮤니티 질문&답변

Gonsoft님의 프로필 이미지
Gonsoft

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

함수를 호출할때 배열형식 인자를 참조가 아닌 값 형식으로 전달하고자 한다면 어떻게 해야할까요?

작성

·

157

0

static void WantValue(int[] scores)

{

// 생략

}

 static void Main(string[] args)

{

int[] scores = new int[5] { 1, 2, 3, 4, 5};

WantValue(scores);

}

위의 내용에서 WantValue 함수를 호출하면 참조가 전달되는 것으로 알고 있는데요.

근데 만약 참조가 아닌 값 형식으로 전달하려고 한다면 어떤식으로 해야하는지 궁금합니다.

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

값 형식으로 복사한다는 것은 배열에 데이터가 10000개라면
10000개의 데이터를 복사해서 넘긴다는 의미인데,
굳이 그럴 필요가 전혀 없습니다.

그리고 정말 정말 원본 데이터가 수정되거나 이런게 싫다면,
WantValue()에 넘겨줄 때 임시 배열을 만들어서 넘겨준다거나 하는 다양한 방식이 있겠죠.

Gonsoft님의 프로필 이미지
Gonsoft

작성한 질문수

질문하기