"ref"가 특별히 필요하지 않은 한, "out"과 "ref"매개 변수를 선택할 때, 사전 설정 선택은 "out"입니다.
out과 ref의 차이
"ref"는 메소드 수정이 매개 변수로 전송 된 변수의 원래 값을 수정하는 반면, "out"은이 능력에서 금지됩니다. 데이터 전송에 교차 프로세스 또는 크로스 마신의 데이터 전송이 포함되면, 마샬의 초기 값이 불필요한 처리로 이어질 수 있기 때문에이 차이는 중요 해집니다.
다음 장면을 고려하십시오 :
person.getBothNames (out a, out b); "사람"은 "getbothnames"는 "a"와 "b"의 초기 값이 메소드의 작동과 관련이 있다고 가정합니다. 이 경우 "in"또는 "out"을 사용하는 것은 기본 설정이며 "out"은 초기 값에 사용되는 쓸모없는 마샬을 제거하는 권장 옵션입니다.
반면에, 초기 값을 수정하면 초기 값이 메소드 의도의 일부일 때 "ref"는 적합하다 :
person.GetBothNames(out a, out b);
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3