S_pot
210520 C#_out, ref 키워드 본문
out키워드
// out 키워드: 반드시 data 저장(대입)을 1번 해야함을 강제한다.
// 주로 메소드 호출 시 값을 반드시 입력 받아야 할 때
// 안정장치 기법으로 활용된다.
static void Smart(int Num1, int Num2, out int Num3, out int Num4)
{
Num3 = Num1 / Num2; // 몫
Num4 = Num1 % Num2; // 나머지
}
static void Main(string[] args)
{
// 몫과 나머지 알아내기
int iNum1 = 17; // 피잿수
int iNum2 = 4; // 잿수
int iNum3; // 몫
int iNum4; // 나머지
Smart(iNum1, iNum2, out iNum3, out iNum4); // ref를 사용하면 Main과 Smart에 각각 수가 생성되지 않아서 메모리적인 측면에서 효율적이다.
Console.WriteLine($"{iNum1}/{iNum2} = {iNum3}");
Console.WriteLine($"{iNum1}%{iNum2} = {iNum4}");
}
ref키워드
static void Smart(int Num1, int Num2, ref int Num3, ref int Num4)
{
// 몫과 나머지 계산
Num3 = Num1 / Num2; // 몫
Num4 = Num1 % Num2; // 나머지
}
static void Main(string[] args)
{
// 몫과 나머지 알아내기
int iNum1 = 17; // 피잿수
int iNum2 = 4; // 잿수
int iNum3 = 0; // 몫
int iNum4 = 0; // 나머지
Smart(iNum1, iNum2, ref iNum3, ref iNum4); // ref를 사용하면 Main과 Smart에 각각 수가 생성되지 않아서 메모리적인 측면에서 효율적이다.
Console.WriteLine($"{iNum1}/{iNum2} = {iNum3}");
Console.WriteLine($"{iNum1}%{iNum2} = {iNum4}");
}
'C#' 카테고리의 다른 글
210520 C#_로컬함수 (0) | 2021.05.20 |
---|---|
210520 C#_메서드 참조 (0) | 2021.05.20 |
210520 C#_null 조건부/병합 연산자, 시프트 연산자 (0) | 2021.05.20 |
210520 C#_객체생성, 삭제 (0) | 2021.05.20 |
210520 C#_$보간방식, Format방식 (0) | 2021.05.20 |