더북(TheBook)

12.7.1 분해를 사용해야 하는 경우

가장 간단한 종류의 분해는 튜플을 함께 사용하는 경우다. 튜플을 반환하는 메서드를 호출했고 반환값을 하나로 유지할 필요가 없는 경우 분해를 고려해 볼 수 있다. 예를 들어 11장에서 다루었던 MinMax 메서드는 반환값을 단일의 튜플로 지속하고 유지하기보다는 거의 항상 반환 즉시 분해를 수행했다.

int[] values = { 2, 7, 3, -5, 1, 0, 10 };
var (min, max) = MinMax(values);
Console.WriteLine(min);
Console.WriteLine(max);

튜플 이외의 다른 타입을 분해하는 경우는 그리 흔하지 않겠지만 점(point), 색(color), 날짜/시간(date/time) 혹은 이와 유사한 타입을 처리하는 경우, 속성을 통해서 반복적으로 참조하는 컴포넌트라면 분해를 고려해 볼 수 있다. C# 7 이전에도 이러한 작업을 할 수 없었던 것은 아니지만, 분해 기능을 활용하면 여러 개의 지역 변수를 손쉬운 방법으로 단번에 선언할 수 있어서 개발 시간을 줄인다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.