C# 익명타입 : 클래스를 미리 정의하지 않고 사용하는 것.
C# Anonymous Type (익명 타입)
- 👩🏻💻 프로그래밍/C#
- · 2017. 6. 16.
c#의 전처리기 지시문은 특정 소스코드를 상황에 따라 컴파일 과정에서 추가/제거 하고 싶을때 사용한다.하나의 코드로 조건을 걸어 여러개의 상황을 만족하는 코드를 작성할때 유용하다. 아래처럼 #if /#endif 를 사용하여 컴파일 조건을 걸 수 있다. using System;using System.Threading;using System.Collections.Generic;using static System.Net.Mime.MediaTypeNames;namespace csharp_study{ class Program { static void Main(string[] args) { string txt = Console.ReadLine(); if (string.IsNullOrEmpty(txt) == fals..
.NET의 Thread 클래스를 이용하여 쓰레드를 하나씩 만들어 사용하는 것이 아니라, 이미 존재하는 쓰레드 풀에서 사용 가능한 작업 쓰레드를 할당 받아 사용하는 방식이 있는데, 이는 다수의 쓰레드를 계속 만들어 사용하는 것보다 효율적이다.이렇게 시스템에 존재하는 쓰레드풀에 있는 쓰레드를 사용하기 위해서는 (1) ThreadPool 클래스, (2) 비동기 델리게이트(Asynchronous delegate), (3) .NET 4 Task 클래스, (4) .NET 4 Task 클래스, (5)BackgrouondWorker 클래스등을 사용할 수 있다. 이 중 ThreadPool 클래스의 경우, ThreadPool.QueueUserWorkItem()를 사용하여 실행하고자 하는 메서드 델리게이트를 지정하면 시스템..
프로그램 종료시 해당 경로에 있는 프로그램 실행하면서 계속 하나의 뮤텍스를 공유해서 사용하는 코드. using System;using System.Threading;using System.Collections.Generic;using static System.Net.Mime.MediaTypeNames; namespace csharp_study{ class Program { public static Mutex mtx = null; static void Run() { Console.WriteLine("Start program"); bool bRun = true; string cmd = ""; while (bRun) { //x 입력시 종료 cmd = Console.ReadLine(); if (cmd.Equal..
C# Thread 클래스 파라미터 전달 Thread 클래스는 파라미터를 전달하지 않는 ThreadStart 델리게이트와 파라미터를 직접 전달하는 ParameterizedThreadStart 델리게이트를 사용할 수 있다. ThreadStart 델리게이트는 public delegate void ThreadStart(); 프로토타입에서 알 수 있듯이, 파라미터를 직접 전달 받지 않는다. ( 물론 파라미터를 전달하는 방식은 있다. ) ParameterizedThreadStart 델리게이트는 public delegate void ParameterizedThreadStart(obejct obj); 로 정의 되어 있는데, 하나의 object파라미터를 전달하고 리턴 값이 없는 형식이다. 하나의 파라미터를 object형..
쓰레드란? 쓰레드는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위, 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. C# 쓰레드의 생성 C#에서 쓰레드를 만드는 기본적인 클래스로 System.Threading.Thread라는 클래스가 있다. 이 클래스의 생성자에 실행하고자 하는 메서드를 델리게이트로 지정한 후, Thread클래스 객체에서 Start() 메서드를 호출하면 새로운 쓰레드가 생성되어 실행되게 된다. 아래 예는 동일 클래스 안의 Run() 메서드를 실행하는 쓰레드를 하나 생성한 후 실행시키는 예제이다. 예제에서는 기본적으로 생성된 메인 쓰레드에서도 동일하게 Run메서드를 호출하고 있으므로, Begin..
C# Anonymous Type (익명 타입)