지금까지의 방식으로도 그럭저럭 잘 개발해온 우리에게 변화가 필요한 이유는 무엇인가? 이 질문에

대한 대답은 더 나은 개발자로 성장하기 위해서라고 생각한다.

더 생산적이며 안정적인 프로그램을 개발하기 위해서 새로운 도구와 언어를 배워야 하지 않겠는가?

C#은 2001년 발표 당시 C++나 자바와 많은 부분이 닮아 있었다. 하지만 발전을 거듭하는 과정에서

완전히 다른 계통 언어들의 장점을 수용했고, 이제 그 언어의 모습 또한 이전과는 많이 바뀌었다.

이런 이유로 C++나 자바에서 사용하던 기법들을 그대로 적용하면 C#의 고유한 장점을 살릴 수 없을

뿐더러 심각한 문제 상황에 처할 수도 있다. 이미 다른 언어를 충분히 경험한 개발자더라도 C#을

새롭게 배우고자 한다면 C#의 핵심 요소를 새롭게 살펴보는 것이 좋다.

1. 지역변수를 선언할 떄는 var를 사용하는 것이 낫다.

2. const보다는 readonly가 좋다

3. 캐스트보다는 is, as가 좋다

4. string.Format()을 보간 문자열로 대체하라

5. 문화권별로 다른 문자열을 생성하려면 FormattableString을 사용하라

6. nameof() 연산자를 적극 활용하라

7. 델리게이트를 이용하여 콜백을 표현하라

8. 이벤트 호출 시에는 null 조건 연산자를 사용하라

9. 박싱과 언박싱을 최소화하라

10. 베이스 클래스가 업그레이드된 경우에만 new 한정자를 사용하라