C# 기초 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : 정적클래스와 정적클래스 멤버 그리고 확장 메서드
글번호: 368
작성자: 레드플러스
작성일: 2015/02/02 오후 11:01:00
조회수: 2807
파일: 정적클래스와정적클래스멤버.png (135 KB) / 전송수: 1513
정적클래스와정적클래스멤버.png

 

using System;

namespace 정적클래스와정적클래스멤버
{
    using MemoEngine.Libraries;

    class 정적클래스와정적클래스멤버
    {
        static void Main(string[] args)
        {
            string s = "안녕하세요.";
            Console.WriteLine(StringLibrary.CutString(s, 2)); // 안녕

            Console.WriteLine(MemoEngine.Libraries.StringLibrary.CutString(s, 5)); // 안녕...
            Console.WriteLine(s.CutString(5)); // 안녕...


            // 추가: 유니코드 문자열 자르기, 단 콘솔 환경에서는 제대로 출력 안됨
            string u = "????????????";
            Console.WriteLine(MemoEngine.Libraries.StringLibrary.CutStringUnicode(u, 4));
            Console.WriteLine(u.CutStringUnicode(4));
        }
    }

    public static class StringLibrary
    {
        public static string CutString(string strCut, int intChar)
        {
            return strCut.Substring(0, intChar);
        }
    }
}

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

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

            var si = new System.Globalization.StringInfo(str);
            var l = si.LengthInTextElements;
            result = si.SubstringByTextElements(0, length);

            return result;
        }

    }    
}

 

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 C# 단위 테스트 코드 조각: Division(분류) 클래스 생성 및 단위 테스트(A... - 레드플러스 2015-02-08 3151
현재글 정적클래스와 정적클래스 멤버 그리고 확장 메서드 정적클래스와정적클래스멤버.png(135 KB) 레드플러스 2015-02-02 2807
다음글 Enterprise Library 6 파라미터 추가 방식 코드 샘플 - 레드플러스 2014-03-17 3074
 
손님 사용자 Anonymous (손님)
로그인 Home