C# 익명타입 : 클래스를 미리 정의하지 않고 사용하는 것.
C# Anonymous Type (익명 타입)
- 👩🏻💻 프로그래밍/C#
- · 2017. 6. 16.
쓰레드란? 쓰레드는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위, 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. C# 쓰레드의 생성 C#에서 쓰레드를 만드는 기본적인 클래스로 System.Threading.Thread라는 클래스가 있다. 이 클래스의 생성자에 실행하고자 하는 메서드를 델리게이트로 지정한 후, Thread클래스 객체에서 Start() 메서드를 호출하면 새로운 쓰레드가 생성되어 실행되게 된다. 아래 예는 동일 클래스 안의 Run() 메서드를 실행하는 쓰레드를 하나 생성한 후 실행시키는 예제이다. 예제에서는 기본적으로 생성된 메인 쓰레드에서도 동일하게 Run메서드를 호출하고 있으므로, Begin..
C# Anonymous Type (익명 타입)
C# Anonymous Method 앞의 C# delegate 예제를 보면 예제의 delegate들은 모두 이미 정의된 메서드를 가리키고 있다. 이렇게 미리 정의된 메서드들과는 달리, C# 2.0에서부터 메서드를 미리 정의하지 않아도 되는 무명 메서드 즉 Anonymous Method를 지원하게 되었다. 만약 어떤 메서드가 일회용으로 단순한 문장들로 구성되어 있다면, 굳이 별도의 메서드를 정의하지 않아도 되는 것이다. 무명 메서드를 만들기 위해서는 delegate 키워드와 함께 아래와 같이 파라미터와 실행문장블럭을 적으면 된다.delegate 뒤에 파라미터는 해당 메서드 Prototype에 맞는 동일한 파라미터 타입이어야 하며, 실행문장블럭에는 여러 문장들을 쓸 수 있다. 무명 메서드 : delegate..
C# Delegate C# delegate는 c/c++의 함수 포인터와 비슷한 개념으로 메서드 파라미터와 리턴 타입에 대한 정의를 한 후, 동일한 파라미터와 리턴 타입을 가진 메서드를 서로 호환해서 불러 쓸 수 있는 기능이다. 예를 들어 아래 RunDelegate 델리게이트는 입력 파라미터가 int 하나이고 리턴 값이 없는 메서드를 가리킨다.RunThis() 메서드와 RunThat() 메서드는 모두 int 파라미터 하나에 리턴 값이 없는 메스드므로, RunDelegate의 함수 형식(prototype)과 맞으므로 이 delegate를 사용할 수 있다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474..
C# 이벤트 이벤트는 클래스내에 특정한 일(Event)가 일어났음을 외부의 이벤트 가입자(subscriber)들에게 알려주는 기능을 한다.C#에서는 이벤트는 event라는 키워드를 사용하여 표시하며, 클래스 내에서 일종의 필드처럼 정의된다. 이벤트에 가입하는 외부 가입자 측에서 이벤트가 발생하는 어떤 명령들을 실행할 지를 지정해 주는데, 이를 이벤트 핸들러라 한다. 이벤트에 가입하기 위해서는 += 연산자를 사용하여 이벤트핸들러를 이벤트에 추가한다. 반대로 이벤트핸들러를 삭제하기 위해서는 -= 연산자를 사용한다. 하나의 이벤트에는 여러 개의 이벤트핸들러들을 추가할 수 있으며, 이벤트가 발생되면 추가된 이벤트핸들러들을 모두 차례로 호출한다. 1234567891011121314151617181920212223..