C# 5

[C#] LINQ(데이터 쿼리)

LINQ (Language Integrated Query)는 컬렉션을 SQL처럼 질의하는 문법이다. foreach + if문을 통해 조건에 맞는 요소를 찾는 것을 구현하게 되면 코드가 길어지면서 가독성이 떨어지는 문제가 발생하지만 LINQ를 통해 구현하게 되면 코드 한줄을 통해 원하는 행위를 명확하게 표현할 수 있다.WhereWhere는 컬렉션에서 조건을 만족하는 요소만 골라내는 필터다.List list = new List();list.Add("Apple");list.Add("Grape");list.Add("Banana");list.Add("AAA");list.Add("BDFA");IEnumerable q = list .Where(p => p.StartsWith("A")); foreach(va..

C# 2026.02.19

스레딩

스레드란 명령어를 실행하기 위한 스케줄링 단위 윈도우는 프로세스를 생성할 때 기본적으로 한 개의 스레드를 함께 생성(메인 스레드) 프로그램 실행 종료에 영향을 미치는 스레드를 가리켜 전경 스레드(foreground thread)라 한다.배경 스레드(background) => 프로그램 종료에 영향 Xstatic void Main(string[] args){ Thread t = new Thread(threadFunc); t.IsBackground = true; t.Start(); //실행 안됨}static void threadFunc(){ Console.WriteLine("60초 후에 프로그램 종료"); Thread.Sleep(1000 * 10); Console.WriteLi..

C# 2026.01.13

[C#] 대리자(delegate)

delegate는 메서드를 값처럼 전달하기 위해서 사용한다.이를 통해 메서드를 변수처럼 저장하고, 매개변수로 전달하거나, 다른 메서드로부터 반환받을 수 있다.대리자 사용 방법대리자 선언 : 대리자 타입을 선언하고, 대리자가 참조할 메서드의 반환 타입과 매개변수를 정의한다.대리자 인스턴스화 : 선언된 대리자 타입을 사용하여 대리자 인스턴스를 생성한다.(여기서 대리자가 참조할 메서드를 지정한다.)대리자 호출 : 대리자 인스턴스를 통해 메서드를 호출 대리자는 .NET 고급 프로그래밍의 핵심을 이루며, 콜백 메커니즘 구현, 이벤트 처리, 비동기 프로그래밍 등 다양한 영역에서 광범위하게 활용된다. 콜백 메커니즘 구현콜백 메커니즘은 프로그램에서 어떤 작업이 완료된 후 특정 동작을 실행할 수 있게 하는 편리한 방법이..

C# 2026.01.08

[C#] Collection / Generic Collection

CollectionCollection은 여러 자료구조를 공통된 인터페이스와 규칙으로 묶어 놓은 자료구조들의 집합이며, .Net 프레임워크에서 비제네릭 컬렉션 클래스를 담당하는 대표적인 네임스페이스이다. Collection 주요 클래스ArrayList : 크기가 가변적인 배열, 인덱스를 통해 데이터에 접근 가능Hashtable : Key-Value 저장Queue : FIFOStack : LIFO // ArrayList 예제 ArrayList al = new ArrayList(); al.Add(10); al.Add("Hello"); foreach(var item in al){ Console.WriteLine(item); } ..

C# 2026.01.04