C#에서는 is식 switch문 switch식에서 패턴매칭을 지원한다.
패턴이 무엇인고 어떤 것이 있는지는 아래 공식 문서를 참조하자.
https://learn.microsoft.com/ko-kr/dotnet/csharp/language-reference/operators/patterns
패턴 - is 및 switch 식을 사용한 패턴 일치입니다. - C#
'is' 및 'switch' 식에서 지원하는 패턴에 대해 알아봅니다. 'and', 'or' 및 'not' 연산자를 사용하여 여러 패턴을 결합합니다.
learn.microsoft.com
자주 써오던 방식의 switch는 switch문으로
switch (variable)
{
case 0:
break;
case 1:
break;
default:
break;
}
이런 식으로 사용했다. 이렇게 작성하면 케이스가 많아질수록 코드가 길어져서 읽기도 힘들어지고 가독성도 나빠진다.
이럴 때 switch식을 사용할 수 있다.
public enum AttackType
{
Melee,
Range,
}
private void Attack(AttackType type)
{
float Damage = type switch
{
AttackType.Melee => 5,
AttackType.Range => 10,
} ;
}
switch 식은 위와 같이 switch로 판단할 변수를 앞에 두고 사용하면 된다.
주의할 점은 식이기 때문에 평소에 switch 문 사용하듯이 사용하면 안된다. 어떤 문을 수행하는 것이 아니라 식을 수행하도록 해야한다.
이 스위치 식에서도 패턴 매칭을 사용해서 여러가지 식을 쓸 수 있으며 대표적으로 무시패턴이 많이 쓰인다
_ => SomeThing
이 무시패턴을 통해서 switch 식에서 모든 경우를 처리할 수 있게 된다. 위의 식은 모든 조건에 대해서 SomeThing이다.
'부트캠프' 카테고리의 다른 글
전략패턴 (0) | 2023.09.25 |
---|---|
Awake와 Start 타이밍 이슈 및 Instantiate (0) | 2023.09.22 |
Find계열 함수를 지양하자. (0) | 2023.09.19 |
오브젝트 풀 만들기 (0) | 2023.09.18 |
팀 프로젝트 마무리(협업을 잘하자) (0) | 2023.09.14 |