Tags
- emplace_back
- postman automations
- Front-end developer
- postman tests
- postman collection
- 좋은 개발자
- c#
- postman csv
- postman collection variables
- UI/UX Engineer
- postman session
- postman excel
- oracle
- Java
- solidity
- web developer
- 다빈치 리졸브
- Android/iOS Developer
- C++
- LSL_Script
- Android
- postman html parse
- postman pre-request
- 프런트엔드
- 우수한 프런트 개발자
- MFC
- postman
- Interaction developer
- Unity
- Intellij
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Archives
- Today
- Total
david's daily developer note
C# ref - C# Reference 본문
728x90
ref 키워드는 인수를 참조로 전달하는 데 사용됩니다. 메서드의 모든 매개 변수 변경 사항은 호출하는 메서드로 제어가 다시 전달될 때 해당 변수에 반영됩니다. ref 매개 변수를 사용하려면 메서드 정의와 호출하는 메서드에서 모두 ref 키워드를 명시적으로 사용해야 합니다. 예를 들면 다음과 같습니다.
class RefExample {
static void Method(ref int i) {
i = 44;
}
static void Main() {
int val = 0;
Method(ref val); // val is now 44
}
}
ref 매개 변수에 전달되는 인수는 먼저 초기화되어야 합니다. 이는 해당 인수를 전달하기 전에 명시적으로 초기화할 필요가 없는 out과 다른 점입니다. out을 참조하십시오.ref 및 out은 런타임에 서로 다르게 취급되지만 컴파일 타임에는 동일하게 취급됩니다. 따라서 한 메서드는 ref 인수를 사용하고 다른 메서드는 out 인수를 사용하는 경우 메서드를 오버로드할 수 없습니다. 예를 들어, 이러한 두 메서드는 컴파일할 때 동일하게 간주되므로 다음과 같은 코드는 컴파일되지 않습니다.
class CS0663_Example {
// compiler error CS0663: "cannot define overloaded
// methods that differ only on ref and out"
public void SampleMethod(ref int i) { }
public void SampleMethod(out int i) { }
}
그러나 한 메서드가 ref 또는 out 인수를 사용하고 다른 메서드는 두 인수 중 어느 것도 사용하지 않는 경우 다음과 같이 오버로드할 수 있습니다.
class RefOutOverloadExample {
public void SampleMethod(int i) { }
public void SampleMethod(ref int i) { }
}
728x90
'[Develop] Language > C#' 카테고리의 다른 글
C# Dictionary foreach (0) | 2011.04.08 |
---|---|
C# Thread, Control.Invoke() (0) | 2011.04.07 |
C# 디렉토리 및 파일이 있는지 확인 (0) | 2011.01.19 |
C# 쓰레드, 임계 영역 처리. (0) | 2011.01.19 |
C# 다수의 Process 실행하기. 경로 관리 (0) | 2011.01.19 |