본문 바로가기

프로그래밍/C#101

C# 미리 정의된 Delegate에 대해서 Action Delegate namespace System { // // 요약: // Encapsulates a method that has no parameters and does not return a value. public delegate void Action(); } Action delegate는 하나 이상의 파라미터를 받아들이고, 리턴 값이 없는(void) 함수에 사용되는 delegate이다. 파라미터의 수에 따라 1개부터 16개의 파라미터까지 받아들이는 delegate가 있다. static void Main(string[] args) { // 문자열을 인자로 받는 Action 선언 Action messageAction = (s => Console.WriteLine(s)); // 인자가 0개면.. 2023. 4. 26.
인물 탐구 - C#의 아버지 아네르스 하일스베르(Anders Hejlsberg) ahejlsberg - Overview Microsoft Technical Fellow and lead architect of TypeScript. Original designer of C#, Delphi, and Turbo Pascal. - ahejlsberg github.com 아네르스 하일스베르 출생 1920년 12월 2일 (62세) 덴마크 코펜하겐 국적 덴마크 학력 덴마크 기술 대학 직업 프로그래머 소속 마이크로소프트 덴마크 코펜하겐에서 태어난 하일스베르는 덴마크 기술 대학에 진학하여 공학을 공부하였습니다. 그는 나스컴(Nascom) 마이크로컴퓨터용 프로그램을 만들기 시작하였는데, 이때 그가 만든 파스칼 컴파일러는 초기에 '블루 레이블 파스칼 컴파일러(Blue Lable Pascal compile.. 2023. 4. 24.
C# 쓰레드(Thread)에 대해서 쓰레드(Thread)란 무엇인가 프로세스(Process)와 쓰레드(Thread)의 차이 프로세스와 쓰레드는 컴퓨터에서 동작하는 작업의 단위입니다. 각각의 작업은 독립적으로 실행되며, 다른 작업에 영향을 미치지 않습니다. 프로세스는 운영체제로부터 자원(메모리, 핸들 등)을 할당받으며, 쓰레드는 프로세스 내부에서 자원을 공유합니다. 각 프로세스는 독립된 주소 공간을 가지며, 서로의 메모리에 접근할 수 없습니다. 하지만 하나의 프로세스 내에서 여러 쓰레드가 동시에 실행될 경우, 서로의 메모리에 자유롭게 접근할 수 있습니다. 프로세스는 하나 이상의 쓰레드로 구성될 수 있습니다. 쓰레드는 하나 이상의 프로세스에 속해 있을 수 없습니다. 멀티 쓰레드(Multi-thread)와 단일 쓰레드(Single-thread).. 2023. 4. 19.
C# is, as, typeof(), GetType() Type-testing 연산자에 대해서 is 연산자 is 연산자는 식 결과의 런타임 형식이 지정된 형식과 호환되는지 확인합니다. 결과값으로 true, false를 반환합니다. Java에서는 동일한 기능을 제공하는 instanceof를 사용한다. Syntax expression is type public class Base { } public class Derived : Base { } public static class IsOperatorExample { public static void Main() { object b = new Base(); Console.WriteLine(b is Base); // output: True Console.WriteLine(b is Derived); // output: False object d = new D.. 2023. 4. 12.
C# 이벤트(Event)에 대해서 알아보자 이벤트(Event)란? C#에서 모든 이벤트(event)는 특수한 형태의 delegate이다. 이벤트는 특수한 제약조건이 추가된 delegate라고 생각하면 이해하기 편하다. 이벤트의 추가(+=) 및 제거(-=)만 가능하다. 할당이 불가능하다.(= 으로 이벤트 할당 불가) 클래스 외부에서 직접 이벤트를 호출할 수 없다. namespace System { // // 요약: // Represents the method that will handle an event that has no event data. // // 매개 변수: // sender: // The source of the event. // // e: // An object that contains no event data. public dele.. 2023. 4. 5.
C# Ref 와 Out 키워드 차이점에 대해서 ref키워드는 변수를 참조 형태로 전달하는데 사용된다. 이는 변수가 메서드 안에서 변경될 수 있다는 뜻이다. out키워드 또한 변수를 참조 형태로 전달하는데 사용된다. 하지만 변수를 전달하기 전에 변수를 초기화 하지 않아도 된다. 하지만 메서드 안에서는 반드시 할당되어야한다. Ref 키워드란 무엇인가? 명시적으로 ref 키워드를 작성해야한다. 매개변수로 전달하기 전에 반드시 초기화 되어야한다. class Program { static void Main(string[] args) { int var = 1; // 전달하기 전에 초기화 되어야한다. RefFunction(ref var); Console.WriteLine("var : ", var); } // ref keyword public static void.. 2023. 4. 4.