또한, 튜플 리터럴을 이용하여 튜플을 만드는 방법을 알았으므로 MinMax 메서드를 완전히 구현할 수도 있다. 다음에 그 예를 나타냈다.

    예제 11-1 정숫값의 시퀀스로부터 최솟값과 최댓값을 단일 튜플로 반환하는 예 ▶ MinMax1.cs

    static (int min, int max) MinMax(  ----- 개별 요소에 이름을 명명한 튜플 타입을 반환
        IEnumerable<int> source)
    {
        using (var iterator = source.GetEnumerator())
        {
            if (!iterator.MoveNext())  ----- 빈 시퀀스는 금지
            {
                throw new InvalidOperationException(
                    "Cannot find min/max of an empty sequence");
            } 
            int min = iterator.Current;
            int max = iterator.Current;
            while (iterator.MoveNext())
            {
                min = Math.Min(min, iterator.Current);
                max = Math.Max(max, iterator.Current);
            }
            return (min, max);  ----- 최솟값, 최댓값을 튜플로 생성
        }
    }

     


    ➊ 최솟값과 최댓값을 추적하기 위한 일반 int 변수
    ➋ 새로운 최솟값과 최댓값으로 변수를 갱신
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.