2013-02-07 3 views
0
하여 데이터 모델

전달 엔티티/참조

가 나는 C 프로그래밍 배경이 일부 이론에 대한 그냥 궁금하고 함수에서 구조체를 통과한다면 당신은 가능성이 궁금 구조체

에 대한 포인터를 전달할 것 , C#에서 엔티티 모델과 같은 데이터 객체를 전달하는 경우 참조로 전달하는 이점이 있습니까? 뒤에서 포인터를 지나치거나 더 많은 것이 있습니까? 거기에 나는 그것이 눈에 띄는 것이라고 의심 어떤 속도 나 성능이 증가하지만 내가 생각하는 경우가 뒤에서

+0

기본적으로 개체는 참조로 전달됩니다. 메서드는 개체의 상태를 변경할 수 있지만 메서드가 반환 될 때 개체는 여전히 동일합니다. 'ref'를 사용하면 변수가 메소드를 반환 한 후에 완전히 다른 객체를 참조 할 수 있습니다. 필자는'ref'를 결코 사용할 필요가 없었고, 나는 그것이 단지 잘못 사용 된 것을 본 적이 있습니다. – JosephHirn

답변

0

이 포인터를 전달하고 알고 좋은 것, 그래서

현실에서 내 모델은 매우 작은 또는 그것에 더 있습니까?

본질적으로 그렇습니다. 모든 참조 유형 (기본적으로 기본 유형 및 구조체를 제외한 모든 것)은 참조로 전달됩니다. 모델의 값을 변경하는 함수에 모델을 전달하면 해당 변경 사항은 호출 함수에서 볼 수 있습니다.

엔티티 모델과 같은 데이터 개체를 전달하는 경우 참조로 전달하면 어떤 이점이 있습니까?

아니겠습니까? 이 경우 참조로 참조를 전달할 수 있습니다 (포인터에 대한 포인터와 유사). 함수에 대한 모델 참조를 전달한 다음 함수가 참조을 업데이트 할 것으로 예상되는 경우를 본 적이 없습니다. 반환 유형을 사용하여 완료 한 것을 볼 수 있으며 때로는 out 매개 변수를 대신 사용합니다.