# c sharp
호출자 정보
c|특성|설명|\|---\|---\||CallerMemberName|메서드를 호출한 메서드 이름||CallerFilePath|메서드를 호출한 소스코드 파일 경로||CallerLineNumber|메서드를 호출한 소스코드 라인 번호|
dynamic 형식
dynamic 형식은 다른 타입처럼 하나의 타입이지만 컴파일시 형식 검사가 이뤄지는게 아니라 런타임시 형식 검사가 이루어진다.

Filters
ASP.NET Core MVC에서는 필터(Filters)를 이용해 특정 단계(전역, 컨트롤러, 액션 별로 각각 구성) 전후에 원하는 코드를 실행할 수 있다. 이런 점에 있어서 필터와 미들웨어는 차이점이 있다. 필터와 미들웨어 차이 미들웨어는 HttpContext에 액

로깅
ASP.NET Core에서는 ILogger 개체를 사용해 기본 제공 로깅 기능을 사용할 수 있다. 로깅을 적용하기 위해서는 ILogger\\<T> 인스턴스를 생성한다. 이렇게 생성된 \_logger 개체로 LogInformation 메서드를 호출하면 console

파이프라인과 미들웨어
파이프라인 ASP.NET에서 파이프라인은 web app을 실행하는데 필요한 모듈(미들웨어)를 등록해서 사용할 수 있도록 하는 것을 말한다. 미들웨어 HTTP 서비스를 통해서 어떤 서비스를 제공할 때마다 해당 서비스를 구현한 미들웨어를 추가해주고 추가된 미들웨어는 순서
Shallow copy vs Deep copy
얕은 복사는 객체의 참조만 복사하는 것입니다. 객체를 얕은 복사 하게 되면 스택에 있는 참조를 복사하는 것으로, 즉 복사할 객체(source)의 참조값을 복사될 객체(target)에 대입하게 됩니다.위 코드처럼 실제로 객체는 2개가 생성된 것이 아닌 source와 ta
Field vs Properties
Field vs Properties table{ margin-left: auto; margin-right: auto; width: 100%; } th{ text-align: center;
cast vs convert vs as/is
cast cast는 객체를 가져와 유형 변경이 허용되는 경우 지정된 유형의 객체로 변경하도록 "강제" 하는거다. 캐스팅하려면 값 옆의 괄호 안에 대상 유형을 배치하여 값을 캐스팅한다. 주의해야 할점은 4번째 코드처럼 decimal을 int로 변환시 소수점 아래 값이

[C#] Lambda, delegate, 그리고 anonymous functions
위 코드의 실행 결과를 예측할 수 있겠는가? 얼핏 보면 Invoke 가 네 번 호출될 것 같지만 실제론 그렇지 않다: 어떻게 이런 일이 벌어질 수 있는 것일까? 이러한 출력 결과가 나타난 이유를 자세히 파헤쳐보려 한다. Invoke 가 한 번만 출력된 (isLambd
C#의 멀티 스레드 프로그래밍
인프런 ROOKISS 님의 강의인 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버를 수강하면서 정리한 내용입니다. 강의의 흐름에 따라 정리하는 것이라 자세하지 못하고 두서가 없을 수 있습니다.(추후 따로다로 자세히 공부해 정리 예정) 스레드 풀(Thread Pool) 스레드 풀은 스레드를 사용자가 설정해둔 개수만큰 미리 ...