반응형
✅ 1. 비동기 프로그래밍이란?동기(Synchronous)는 코드가 순서대로 실행하는 방식, 비동기(Asynchronous)는 시간이 걸리는 작업을 기다리지 않고 다른 일을 동시에 수행할 수 있는 방식입니다. 예를 들어, 파일을 읽거나, 네트워크에 요청, DB를 조회하는 등 시간이 걸리는 작업을 할 시 비동기로 처리하며 UI 멈추지 않고 부드럽게 동작할 수 있습니다.using System;using System.Threading.Tasks;class Program{ static async Task Main(string[] args) { Console.WriteLine("작업 시작"); await Task.Delay(1000); // 1초 대기 (비동기) C..
✅ 1. switch 표현식 (Switch Expressions)C# 8버전 부터 추가된 기능으로, 기존 switch 문보다 간결하고 표현력이 좋은 기능입니다. 값을 직접 변환하거나 패턴일치를 조합하면 더욱 좋아집니다.using System;class Program{ static void Main() { object obj = 5.54; // switch 표현식 호출 string typeDescription = GetTypeDescription(obj); Console.WriteLine(typeDescription); } // switch 표현식 method static string GetTypeDescription(object..
✅ 1. where 제약조건제네릭은 기본적으로 어떠한 타입이든 동작하나, 때때로 특정 기능을 보장해야할 때가 있습니다. 예를 들어 T가 반드시 선언한 값을 상속하고 기본 생성자가 있어야만 하고 싶다면 where 제약조건을 사용합니다.public class Human{ public virtual void Speak() => Console.WriteLine("나는 인간이야");}public class Hungry : Human{ public override void Speak() => Console.WriteLine("나 배고파");}public class Sleep : Human{ public override void Speak() => Console.WriteLine("나 졸려");}//..
✅ 1. LinQ란?LINQ(Language Integrated Query)는 C#에 데이터 컬렉션(List,Array, Dictionary 등)이나 DB(Entity Framwork 등)에 쿼리 스타일로 접근할 수 있게 해주는 강력한 기능입니다.✅ 2. 그룹화(Grouping)그룹화(Grouping)은 특정 데이터를 특정한 키로 묶어 그룹별로 집계할 수 있게 도와주는 기능입니다. using System;using System.Collections.Generic;using System.Data;using System.Linq;public class Movies{ public string Title { get; set; } public DateTime ReleaseDate { get; set;..
✅ 1. 람다식 (Lambda Expression)람다식(Lambda)는 익명 메서드(이름 없는 메서드)를 간결하게 표현하는 방식입니다.(매개변수) => 식 or { 문장들 }class Lamda{ static void Main() { // Normal Method int Square(int x) { return x * x; } // Lamda Method Func square = x => x * x; Console.WriteLine(square(5)); }} ✅ 2. Func Func는 반환 값이 있는 람다식/메서드를 담는 제네릭 델리게이트(delegate)로 최대 ..
📙 1. 델리게이트 (Delegate)델리게이트(Delegate)는 메서드를 참조하는(가리킬 수 있는) 타입으로 메서드 포인터 같은 역할을 담당합니다, 특정 메서드 대신 호출하거나, 메서드를 변수처럼 전달할 때 사용합니다. 기본적인 문법은 다음과 같습니다.// 델리게이트 선언public delegate void MyDelegate(string message);// 클래스 선언class Program{ static void Main() { // 델리게이트 변수에 메서드 등록 MyDelegate myDel = printMessage; // 호출 myDel("Hello Delegate!"); } static void printMessag..