300x250
✍️ Task.FromResult await 키워드를 만나면 세 가지 경우의 수가 발생한다. 첫 번째, awaitable이 실행 과정에서 예외를 발생하면 exception을 던진다. awaitable 간단하게 Task 또는 Task를 반환하는 함수(+메서드)라고 생각하면 된다. +awaitable은 void도 반환하지만 Task를 반환하는 awaitable과는 결이 다르다고 한다. 자세한 내용은 링크를 참조하길 바랍니다. 두 번째, awaitable이 이미 완료된 Task라면 async 메서드를, 마치 일반 메서드처럼, 동기 방식으로 계속 실행한다. 세 번째, awaitable이 끝나지 않았다면 작업이 끝난 후 await 이후의 나머지 코드를 실행하도록 대기 작업으로 등록하고 async 메서드의 호출자에..
❓ C#은 모든 자료형이 객체일까? 한 가지 의문으로부터 본 포스팅은 시작한다. 오늘 문득 생각에 잠겨 C#은 진짜 모든 자료형을 객체로 취급할까?라는 의문을 품고 직접 검증에 나섰다. 결론부터 말하면 모든 자료형을 객체로 취급한다는 말은 엄연히 틀리며 해석하기에 두 가지 답을 제시할 수 있다. ✍️ int는 객체인가? C#에서 모든 자료형은 객체인가를 알기 전에 int는 객체인가 대한 정답을 내리면 정답에 한걸음 다가갈 수 있지 않을까? 기본적으로 C#에선 class와 String(string)은 Reference-type이며 struct와 enum은 Value-type이다. 여기서 한 가지 중요한 사실은 int와 같은 원시 타입은 구조체로 구현했단 점이다. int는 구조체로 구현했다. 굉장히 많은 의..