첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ switch문 : 튜플 패턴(Tuple Pattern)에서 when 키워드 사용하기

------------------------------------------------------------------------------------------------------------------------


TestProject.zip


SampleData.cs

 

 

namespace TestProject

{

    /// <summary>

    /// 샘플 데이터

    /// </summary>

    public class SampleData

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Property

        ////////////////////////////////////////////////////////////////////////////////////////// Public

 

        #region X - X

 

        /// <summary>

        /// X

        /// </summary>

        public int X { get; set; }

 

        #endregion

        #region Y - Y

 

        /// <summary>

        /// Y

        /// </summary>

        public int Y { get; set; }

 

        #endregion

    }

}

 

 

Program.cs

 

 

using System;

 

namespace TestProject

{

    /// <summary>

    /// 프로그램

    /// </summary>

    class Program

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method

        ////////////////////////////////////////////////////////////////////////////////////////// Static

        //////////////////////////////////////////////////////////////////////////////// Private

 

        #region 프로그램 시작하기 - Main()

 

        /// <summary>

        /// 프로그램 시작하기

        /// </summary>

        private static void Main()

        {

            string description = GetDescription(new SampleData { X = 60, Y = 40 });

 

            Console.WriteLine(description);

        }

 

        #endregion

 

        #region 설명 구하기 - GetDescription(sampleData)

 

        /// <summary>

        /// 설명 구하기

        /// </summary>

        /// <param name="sampleData">샘플 데이터</param>

        /// <returns>설명</returns>

        private static string GetDescription(SampleData sampleData) => (sampleData.X, sampleData.Y) switch

        {

            var (x, y) when x >= 50 && y >= 50 => "우상단",

            var (x, y) when x >= 50 && y <  50 => "우하단",

            var (x, y) when x <  50 && y >= 50 => "좌상단",

            var (x, y) when x <  50 && y <  50 => "좌하단",

            var (_, _)                         => ""

        };

 

        #endregion

    }

}

 

------------------------------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker

댓글을 달아 주세요