뭔가 같은 :ref 나 value (C#)로 메서드 매개 변수를 전달하기위한 일반적인 짧은 지침은 무엇입니까?
- 메서드 호출 후 변수의 값이 반환 될 경우 : 인스턴스화 할 필요가없는 경우 메서드 호출을 사용 심판
전에 인스턴스화 할 수있는 경우
- 호출이 사용되기 전에
메서드 호출에서 다른 값을 반환, 결정 또는 계산할 때 값을 사용하지 않으면 ref를 사용하지 마십시오.
올바르게 받았습니까? 당신의 짧은 지침은 무엇입니까?
뭔가 같은 :ref 나 value (C#)로 메서드 매개 변수를 전달하기위한 일반적인 짧은 지침은 무엇입니까?
전에 인스턴스화 할 수있는 경우
메서드 호출에서 다른 값을 반환, 결정 또는 계산할 때 값을 사용하지 않으면 ref를 사용하지 마십시오.
올바르게 받았습니까? 당신의 짧은 지침은 무엇입니까?
이 정말 값 유형의 질문하지만이 발견 (아웃 키워드를 사용) 심판에 의해 값을 전달하는 하나 개의 좋은 사용 ...
int i = 0;
if (int.TryParse("StringRepresentation", out i)
{
// do something with i which has taken the value of a the previous successful TryParse
}
에 응답하는 경우 확실하지 :
원래 저장소에서 변경해야하는 경우에는 ref를 사용하십시오. 예 : 참조 유형의
int a = -3;
protected void EnsurePositiveValues(ref int value)
{
if (value < 0)
value = 0;
}
:
원래 참조에서 (다시) 지정해야 할 경우 ref를 사용하십시오. 예 :
User u = MembershipAPI.GetUser(312354);
protected void EnsureUser(ref User user)
{
if (user == null)
user = new User();
}
. 메소드에 참조 유형을 매개 변수로 전달할 때 포인터을 변수에 전달합니다. 즉, 메서드 내에서 변수를 변경할 수 있으며 메서드를 호출 한 코드에서 변수를 사용할 수 있지만 null로 설정하면 포인터가 null로 설정되고 변수가 그대로 유지됩니다. 메서드가 반환됩니다.