■ IComparer<T> 인터페이스 구현하기 예제

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

using System;

 

string[] stringArray = new string[] { "만나서 반갑습니다.", "처음 뵙겠습니다.", "안녕하세요." };

 

Array.Sort(stringArray, new StringLengthComparer());

 

foreach(string source in stringArray)

{

    Console.WriteLine(source);

}

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

 

■ IComparer<T> 인터페이스 구현하기

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

using System.Collections.Generic;

 

/// <summary>

/// 문자열 길이 비교자

/// </summary>

public class StringLengthComparer : IComparer<string>

{

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

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

 

    #region 비교하기 - Compare(source1, source2)

 

    /// <summary>

    /// 비교하기

    /// </summary>

    /// <param name="source1">소스 문자열 1</param>

    /// <param name="source2">소스 문자열 2</param>

    /// <returns>비교 결과</returns>

    public int Compare(string source1, string source2)

    {

        if(source1.Length == source2.Length)

        {

            return 0;

        }

        else if(source1.Length > source2.Length)

        {

            return 1;

        }

        else

        {

            return -1;

        }

    }

 

    #endregion

}

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

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요