Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- React Redux
- asp core mvc
- 리액트 리덕스
- asp.net core
- Asp Net Core
- react
- asp core 권한
- 리액트 타입스크립트
- js
- 리액트 타입스크립트 적용하기
- ASP Core
- asp.net core mvc
- javascript
- 리액트
- docker layer
- Docker
- 도커 레이어
- docker container
- C#
- 리덕스
- 도커 컨테이너
- react ts
- 도커 이미지
- Docker image
- redux
- c# delegate
- vscode extension
- react typescript
- 도커
- Git
Archives
- Today
- Total
기초 메모지
C# - ref, out 언제 사용할까? 본문
ref
범위 밖에 있는 변수의 값을 수정할 때 사용합니다.
기본적을 매개 변수(Prameter)는 값 타입(Value Type)을 사용하기 때문에 메서드 밖에 있는 값이 변경되는 일은 없습니다.
ref로 참조 타입(Reference Type)으로 변경하면 인자로 주어진 변수의 주소 값을 참조하게 됩니다.
인자로 주어진 변수 값과 매개 변수는 같은 주소 값을 가지기 때문에 실질적인 값을 공유하게 됩니다.
그 결과 실질적인 값을 변경한다면 참조하고 있던 변수나 매개 변수 값은 같은 값을 참조하게 됩니다.
int Sum = 0;
Add(int 2, int 10, ref Sum);
ConsoleWriteLine(Sum)
// Sum = 12
void Add(int x, int y, ref Sum)
{
Sum = x + y;
}
out
메서드 내에서 생성된 값을 반환할 때 사용하거나 값을 두개 이상 반환할 때 사용합니다.
double Pow, Sqrt;
Add(2, 16, out Pow, out Sqrt);
Console.WriteLine("Pow : " + Pow + ", Sqrt : " + Sqrt);
// Pow : 1024, Sqrt : 4
void Add(int x, int y, out double xValue, out double yValue)
{
xValue = Math.Pow(x, 10);
yValue = Math.Sqrt(y);
}
반응형
'Languages > C#' 카테고리의 다른 글
C# - 람다 식(Λ : Lambda Expression) (0) | 2022.07.01 |
---|---|
C# - GUID(Globally Unique Identifier) (0) | 2022.07.01 |
C# - 접근 제한자(Access Modifier) (0) | 2022.06.30 |
C# - 제네릭 컬렉션 - 딕셔너리(Dictionary) (0) | 2022.06.30 |
C# - 제네릭 컬렉션 - 리스트와 배열 (0) | 2022.06.30 |
Comments