더북(TheBook)

3.   마지막으로 클래스를 하나 더 만들어 보겠습니다. 03_String 폴더를 만든 후 StringLibrary.cs 이름으로 클래스 파일을 생성하고, 다음과 같이 코드를 작성합니다.

▲ 그림 52-10 StringLibrary.cs 파일 생성

//StringLibrary.cs
namespace Dul
{
    public static class StringLibrary
    {
        ///<summary>
        ///주어진 문자열을 주어진 길이만큼 잘라서 반환, 나머지 부분은 '...'을 붙임
        ///</summary>
        ///<param name="cut">원본 문자열</param>
        ///<param name="length">잘라 낼 길이</param>
        ///<returns>안녕하세요. => 안녕...</returns>
        public static string CutString(
            this string cut, int length, string suffix = "...")
        {
            if (cut.Length > (length - 3))
            {
                return cut.Substring(0, length - 3) + "" + suffix;
            }
            return cut;
        }

        ///<summary>
        ///유니코드 이모티콘을 포함한 문자열 자르기
        ///</summary>
        ///<param name="str">한글, 영문, 유니코드 문자열</param>
        ///<param name="length">자를 문자열의 길이</param>
        ///<returns>잘라진 문자열: 안녕하세요. => 안녕...</returns>
        public static string CutStringUnicode(
            this string str, int length, string suffix = "...")
        {
            string result = str;

            var si = new System.Globalization.StringInfo(str);
            var l = si.LengthInTextElements;

            if (l > (length - 3))
            {
                result = si.SubstringByTextElements(0, length - 3) + "" + suffix;
            }
            
            return result;
        }
    }
}

여기까지 작성한 후 솔루션 다시 빌드를 실행하여 Dul.dll 파일을 다시 만듭니다.

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