ㄱ. 목적

1. C#에서 정해진 패턴을 사용해서 패턴에 일치하는 값을 판단하는 정규 표현식의 종류와 사용법에 대해 알아보자


ㄴ. 본론

1. 정해진 패턴에 대한 표현식들은 다음과 같다.

  • 정규 표현식에 사용되는 특수 문자
    • '.'  => 
      • 임의의  문자를 의미합니다.
        • a.c -> abc, aec, avc, …
        • .us -> bus, cus, dus, …
    • '*'
      • 바로 앞의 문자가 없거나 하나 이상인 경우
        • s*e -> e, se, see, ssse, …
        • abc* -> ab, abc, abcc, abccc, …
        • h*im -> im, him, hhim, hhhim, …
    • '+'
      • 바로 앞의 문자가 하나 이상
        • s+e -> se, sse, ssse, …
    • '?'
      • 바로 앞의 문자가 없거나 하나뿐인 경우
        • th?e -> e, the 두가지 표현이 유일함
    • '^'
      • 바로 뒤의 문자열로 시작
        • ^The.. 뒷부분부터 공백까지 검사. -> The girl is, Theather
        • ^a?bc -> bc, abc, …
        • ^.e -> he, me, request, settle, …
        • ^s.e?.. E 나와도되고 안나와도 됩니다. -> sa, sae, sb, sbe, …
    • '$'
      • 바로 앞의 문자열로 종료
        • a?bc$ -> eeabe, seebc, bc..
        • +.e$ -> onthetoe, bctae, appetittle, …
        • s?c+$ -> e, se, ee, eee, seee, seee, …
    • '[ ]'
      • [ ] 안에 있는 문자  하나(범위의 경우 '-' 지정합니다.)
        • [ab]cd -> acd, bcd, …
        • [a-z] -> 알파벳 소문자
        • [a-zA-Z] -> 알파벳
        • [0-9] -> 숫자
        • ag[a-z] -> aga, agbcd, agzzz, …
        • ^ab[cd]ef -> abcef, abdef, …
        • ^[a-zA-Z] -> 영문자로 시작
        • ^[-한글로 시작해야  
        • [a^-zA-Z0-9] -> '^' 표시가 대괄호 안으로 들어갈 경우 제외의 의미가 됩니다부정의 의미. ->영문자나 숫자로 시작할  없ㅅ브니다.
        • [a-zA-Z0-9]$ -> 영문자나 숫자로 종료
        • "[-]" -> 한글 완성형만 가능합니다. "ㅋㅋ", "ㅎㅎ같은 구문은 불가능합니다.
        • "[abc]" -> abc 하나라는  -> c#문법으로 if("a" || "b" || "c") 같음.
    • '{ }'
      • { } 앞의 문자나 문자열의 출현 횟수, Schema에서 min / maxoccur 같은 개념
        • a{2}b -> aab, … -> a  2 나와야 
        • a{2, }b -> aab, aaab, aaaab, … -> a 2 이상 나와야 
        • a{2, 3}b -> aa, aaab -> a 2~3 나와야 
    • '( )'
      • ( )안에 있는 문자를 그룹화
        • a(bc){2} -> abcbc -> a 다음 bc 2 나와야 
        • a(bc)* -> abcbcbcbc -> a 다음 bc 출현이 무한대로 가능 
    • '|'
      • or 연산자
        • 영어로만 아이디를 만들라 -> [a-zA-Z]+ 공백없는 영어단어
          • He|She -> he, she is..
          • (He|She)is -> Heis, Sheis
    • 특수문자 사용
      • ^ [] $ () | * + ? {} \
        • 앞부분에 \ 붙여서 사용합니다.
          • \*+ -> * 하나 이상 포함된 패턴.. -> * ** *** 무한대로 가능
          • \d : 정수
          • \d{2, 3} - / d{3,4} - / d{4} : 전화번호 찾는 정규식
          • \D : 숫자가 아닌 나머지 모두
          • \w : [a-zA-Z0-9] 줄임 표현
          • \W : [^a-zA-Z0-9] 영문자와 숫자만 아니면 .
          • \s : 공백
          • \S : 공백이 아닌 나머지
  • 예제
    • 4.6% 찾는다
      • [0-9]{1,3}\.?[0-9]*%
    • 전화번호를 찾는다.
      • \d{2,3}-\d{3,4}-\d{4}
      • [0-9]{2,3}-[0-9]{3,4}-[0-9]{4}
    • 이름(textBox)
      • [-]{2,5}
        • 한글 최소 2~5글자 입력가능
    • 나이(textBox)
      • [0-9]{1,2}
      • 1?[0-9]?[0-9]
    • 주민등록번호
      • [0-9]{6}-[0-9]{7}
      • [0-9][0-9][01][0-9][0123][0-9]-[1234][0-9]{6}


2. C# 사용 예제



3. 결론

- C#에서 정규식의 예와 그 사용을 알아보았습니다. 

Posted by 시크한공돌이
,



ㄱ. 목적

1. C#에서 키 이벤트를 처리하면서 숫자만 받는 경우가 있을 수 있는데 이때 숫자만 받을 수 있는 방법을 알아보자


ㄴ. 본록

1. 숫자만 입력받는 방법은 그 키의 번호를 보아서 확인하는 방법이 있다. 

이 때 C#의 char.IsNumber(char) 함수를 이용하면 편리하게 처리할 수 있다.


2. 소스 코드로 알아보자


ㄷ. 결론

1. char.IsNumber(char) 함수를 통해 간단하게 숫자 판별을 할 수 있다.

Posted by 시크한공돌이
,



1. 목적

ㄱ. Visual Studio의 소스를 정렬하는 법을 알아본다.

ㄴ. 버전별로 정렬 방법이 상이함으로 모두 숙지한다.


2. 본론

ㄱ. Visual Studio는 여러 단축키가 많이 사용되는데 소스 정렬은 꼭 필요한 기능 중 하나이다.

ㄴ. 버전별 소스 정렬 단축키는 다음과 같다.

Visual Studio 6.0 - Alt + F8

Visual Studio 2005, 2008 - Ctrl + K, F

Visual Studio 2010 - Ctrl + K, D


3. 결론

ㄱ. 버전별 Visual Studio의 정렬 단축키를 알아보았다.

Posted by 시크한공돌이
,

ㄱ. 목적

1. 사용자가 원하는 폴더를 기존 폴더에 유무에 따라 없으면 생성하는 법을 알아보자


ㄴ. 본문

1. 아래와 같은 코드를 사용하면 폴더의 유무를 확인하여 생성시킴

실행파일이 실행된 폴더안에 images라는 폴더가 없으면 생성 됨   


ㄷ. 결론

1. 간단하게 C#에서 폴더의 유무를 확인하여 폴더를 생성하는 법을 배워보았다.

Posted by 시크한공돌이
,

ㄱ. 목적

1. 처음보는 예제 코드나 소스뿐이 존재하지 않는 코드를 사용할 때 발생하는 using 문제를 해결해 본다.


ㄴ. 본론

1. Visual studio에서 코드를 처음 사용할 때 붉은 밑줄이 생긴다. 이는 적절한 클래스 집합이 using되지 않았기 때문이다. 이를 해결하기 위해 검색, 책 참고 등의 방법들이 있지만 다음과 같은 명령어를 통해 자동으로 using 할 수 있다.


2. 붉은 밑줄이 쳐진 자료형에 커서를 놓고 "Alt + Shift + F10"을 누르면 다음과 같이 자동으로 using이 추천되어 선택 하여 참조할 수 있다.

ㄷ. 결론

1. Visual studio에서 자동으로 클래스 집합을 Using 하는 법을 알아보았다.

Posted by 시크한공돌이
,

ㄱ. 목적

1. WPF에서 WrapPanel을 이용한 동적 객체 표시를 알아본다.

2. WrapPanel의 특성을 알아본다


ㄴ. 본론

1. WrapPanel은 자식 요소를 왼쪽부터 오른쪽으로 순차적으로 배치하고, 해당 부모 컨테이너의 끝에 도달할 경우 내용을 자동으로 다음 줄로 바꾸는데 사용된다.

 콘텐스는 가로 또는 세로 방향으로 설정할 수 있다.  WrapPanel은 간단한 유동 UI(사요ㅕㅇ자 인터페이스) 시나리오에 유용하며 모든 해당 자식 요소에 동일한 크기를 적용 가능함.


2. 예제 - 버튼을 생성하여 줄이 바뀌는 것을 보는 예제

C# 코드

XAML


결과 화면

일반적인 WrapPanel 요소


ㄷ. 결론 

1. WrapPanel을 이용하여 간단한 나열식의 UI생성을 살펴보았다.

Posted by 시크한공돌이
,