2016-11-17 15 views
0

나는 약 passing by reference in C#에 대해 읽었으며 그 동안 나는 혼란스러운 다음 문장을 읽었다.참조로 전달/값 - 복싱/언 박싱 관계

"참조로 전달할 때 값 유형의 권투가 없습니다."

비록 내가 복싱인지 알지만, 나는이 문장에 포함 된 정보의 실제 깊이를 놓친다 고 생각한다. 나는 그것이 기본적으로 복싱이 발생하지 않는다는 것을 말하고 물론 물론 어느 것도 언 박싱을하지 않는다는 것을 압니다. 그러나 이것으로부터 다른 결론을 도출 할 수 있습니까? 여하튼 복싱/언 박싱과 관련된 값/참조로 전달됩니까?

+2

복싱은 참조로 값 유형을 전달하는 것과 관련이 없으며 권투가 느리기 때문에 좋게 평가됩니다. 이 책의 저자는 값에 의한 참조 형식 전달 (개체 속성을 변경할 수는 있지만 자체 참조는 할 수 없을 때)과 참조 형식을 전달할 때의 차이점을 표시하려고했습니다 (동작은 참조 형식을 전달하는 것과 유사하지만 그렇지 않습니다. 느린 권투) – csharpfolk

+2

나는 이것이 중복 질문에 동의하지 않습니다. 그것들은 똑같은 것에 대해서 이야기하고 있지만, OP의 질문을 다루는 dup에는 아무 대답도 없습니다. 다시 투표하려면 투표하십시오. – itsme86

+1

[이 답변] (http://stackoverflow.com/a/4807391/1141432) 더 OP의 질문에 직접 관련이 있습니다. – itsme86

답변

0

참조로 값 유형을 전달하는 경우 복싱 및 언 박싱이 필요하지 않습니다. C#에서 간단히 말하면 메모리 에일리어싱이 있습니다. Linqpad에서 시도해 볼 수도 있습니다. 일리노이 코드에서 그것을 표시 한 후에는 권투/unboxing 관련된 것을 볼 수 있습니다.