• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

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

21.09.04 00:00 작성 조회수 118

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

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

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