다중작업을 위한 Thread이용하기

프로그래밍을 하다보면.. 다중 스레드를 꼭 쓸 때가 오고야 만다.

새 폼을 열었더니 엄마창이 멈춰서서 클릭할 때 마다 삑 ~ 삑 ~ 소리만 내고 있는것을 보면 고민을 하지 않을 수 없다

이런 방식으로 새 스레드를 열어서 작업을 하면… 동시에 여러 작업이 가능하다.

필요없을 것 같아도 꼭 필요할 때가 있다

외울필요는 없고… 존재사실만 알면 언제나 구글에서 찾아서 쓰면된다

참고로… 꼭 클래스를 저렇게 넣을 필요는 없다. 응용~

반복문Loop – for(;;), while(), do~while, foreach

k=0이었는데 반복문을 돌면서 1씩 증가하는 i값을 더해준다.

i k0

0 1

12

33

…..

c언어에서는while(1), while(0)이라고 해도 됐는데…0은 true, 1은 false였나…c#에서는 true false라고 명확히 써 줘야한다.나처럼 헷갈릴 수 있으니까… 이 값을 명확히 해 두려고 했던 것 같다

a값이 a p p l e 이렇게 다섯번 반복된다. 하나하나 분해해줌

배열형태를 갖는것에는 모두 사용 가능하다.

string는 word[0]==’a’ word[1]==’p’ 이런식으로 이뤄져있다. word[5]==’e’ 이고…word[6]==null일듯… 아마…

제어문Control?, 조건문 if~else switch

조건문에는 크게 두 가지가 있다

if else

switch

i가 40일 때

i가 30보다 큰지 확인하고…

크면 i에 10을 대입한다

i가 30보다 크지 않다면..

콘솔창에 i값을 출력한다

if와 else를 이어붙이면… 무한히 이어붙일수도있다.

질문하나. i가 35일 경우 2번째 분기에 진입이 될까?

답: 안된다.

조건문은 순서대로 실행된다. i>30보다 큰거에 먼저 걸렸으니까 2번째는 실행이 안된다.

이런 조건을 쓸 때는 순서도 생각해야된다.  30<x<=50으로 정하던가..

정확히는… 30<i && i<=50

int선택값을 0이나 1 또는 다른 숫자로 선택함에 따라 분기가 선택됨.

switch문은 항상 if else로도 구현이 가능하지만… 이걸로 하면 더 편한 경우가 있다

연산자operator

구글검색하려면… 영어 용어를 잘 알아야한다

표현식expression을 만드는데 중요한 요소인 연산자operator

int a=0;

a++;

반복문에서 많이 보이는이것… 증가연산자 ‘++’

a–;

감소연산자

–a;

앞쪽과 뒷쪽의 차이는… 앞쪽에 있으면 –연산을 먼저 한 후 a값을 처리하는거고.. 뒷쪽에 있으면 그 반대.

 

이건그냥 보면 다 알 수 있을듯…. 언어마다 조금씩 다르니까 기억해두자. 잘 기억이 안나면… 그냥 대충 써보면  컴파일러가 에러 뱉아내고 그럼 고치고 하면된다

크거나 같다, 작거나 같다 이게 많이 헷갈렸었다

연산자 우선순위는…수학시간에 배운대로

연산자 리스트…. 오래보면 시간낭비.. 최대3분만 보면될듯..

http://msdn.microsoft.com/ko-kr/library/6a71f45d(v=VS.100).aspx

상속Inheritence is a

상속의 두 가지 개념

is a와 has a

여기서는 is a를 설명

이렇게 두개의 클래스가 있을 경우

뽀삐는 멍멍이다.

뽀삐 is a 멍멍이

이런개념이다.

이런식으로.. 멍멍이들 배열에는 뽀삐가 들어갈 수 있다

왜 ? 그렇게 만들었으니까..

왜 그렇게 만들었냐하면…

논리적으로 말이 되니까…

뽀삐는 멍멍이니까 멍멍이들에 들어갈 수 있다.

이것이 상속의 is a 관계…

is a 관계가 아닌것도 상속으로 만들어 써도 되긴하는데… 만들다가 논리가 꼬이면 헷갈리고 좀 안좋다..

 

 

 

배열Array

이렇게해놓으면…구분값들[0], 구분값들[1]….구분값들[5].

원소 개수는 6개..0부터시작한다 그러니까 5까지  총 6개

이렇게 값을 꺼내쓸 수 있다

반복문이나 클래스 선언시에 유용하다

c#에서 모든것은 객체다 int값마저도…

그러니…

P[] arrP;

라는 선언도 가능하다.

P라는 클래스를 10개짜리 배열로 선언했다

이런식으로 객체를 생성해서 쓰면된다

객체의 배열은 상속의 개념을 이용하면 더 폭넓게 사용가능하다

–상속http://wordpress.polypia.net/?p=41

2차배열 2단배열들..

다르다.

c++에서는 string [][] 이런식으로 2중배열을 선언했었는데.. c#에서는 두가지가 다르다

쉽게말해.. [,]는 정방형의 형태다.. 행렬모양

[][]는….

불규칙한 선언이 가능하다

0번째는 10개가 있고 [0][10]

1번째는 5개가 있고.. [1][5]

쉽게말해 [][]는 .. 배열의 배열이다.

용도는 그냥 써보면 알 수 있을듯… 자주 쓰는데 사례가 생각이 안난다.

 

 

 

 

MSDN검색 잘 하는 노하우

www.google.com

여기서 검색한다.

꼭 msdn을 찾고싶다면 msdn.com 주소에서 찾기 기능을 사용한다

 

msdn검색기능이 병맛이라… 이렇게 하는게 빠르다

msdn에서는 딱 세번만 해보고 …안나오면 구글로….

왜 msdn의 검색기능이 병맛인지는… 쓰다보면 느끼겠지만…

쉬운 예로 그냥 msdn과 구글에서 동시에 System.Console의 사용법 검색해보면 알 수 있을듯..