728x90
반응형
Optional Parameters이란?
함수 호출 시, parameter를 선택적으로 포함할 수 있다. 피자의 추가토핑 처럼, 원하면 추가하고 없어도 괜찮다.
public void OrderPizza(string size, string extraTopping = "")
{
...
}
위 코드에서 extraTopping이 선택적 파라미터이다. OrderPizza 호출 시, extraTopping을 포함하거나 아니면 size만 전달해도 된다.
Optional parameters는 코드에 확정성과 단순함을 가져온다.
- method overloads를 줄여준다. 하나의 함수가 여러 다른 일을 할 수 있다.
- 가독성을 늘린다. method versions 사이를 왔다갔다 할 필요가 없다.
- flixible API를 제공한다. API 사용자는 특정 parameters를 생략할 수 있다.
Optional Parameters 동작
선택적 파라미터는 default parameter values 개념을 사용한다.
public void OrderPizza(string size, string extraTopping = "Cheese")
{
...
}
함수 호출 시, extraTopping 값을 명시하지 않은 경우, C#은 자동으로 기본값인 Cheese를 사용한다.
Optional Datetime Parameter
public void LogEvent(string eventDetails, DateTime eventTime = default(DateTime))
{
...
}
Optional Out Parameter
out은 함수에서 하나 이상의 return 값을 원할떄 사용하는 키워드이다. out parameter를 선택적으로 사용할 수 있는가?
// Optional out parameter by using method overloading
public bool TryParse(string str)
{
return int.TryParse(str, out int _);
}
public bool TryParse(string str, out int result)
{
return int.TryParse(str, out result);
}
함수 오버로딩을 사용해서 out parameter oprtional을 만들었다.
Constructor with Optional Parameters
함수와 동일하게 사용하면 된다.
728x90
반응형
'C#' 카테고리의 다른 글
C#] Span<T>, ReadOnlySpan<T> 과 메모리 성능 (0) | 2024.04.05 |
---|---|
C#] Properties vs Fields 차이점 (0) | 2024.02.15 |
C#] IDisposal Interface 구현 방법 (0) | 2024.02.14 |
C#] Managed vs Unmanaged Code (0) | 2024.02.14 |
C#] SOLID 원칙 5. Dependency Inversion Principle(의존성 역전 원칙) (0) | 2024.02.07 |
댓글