effective c# 2

[Effective C#] 박싱과 언박싱을 최소화하라

[Effective C#] 박싱과 언박싱을 최소화하라.NET Framework에서는 모든 타입의 최상위 타입을 참조타입인 System.Object로 정의하고 있다.object는 참조형식이 때문에 힙에 데이터를 할당한다.반면, int나 double은 값 형식이기 때문에 스택에 데이터를 할당하며, 다형적이지 못하다.이 두가지는 양립하는 것 처럼 보이지만 앞서 모든 타입의 최상위 타입은 참조형식인 System.Object를 상속받는다고 했다. 어떻게 그럴 수 있을까?.NET Framework에서는 박싱(Boxing)과 언박싱(Unboxing)이라는 방법을 통해 이 두가지 서로 다른 타입을 이어준다.int firstParam = 5; int secondParam = 10; int thirdParam = 15; ..

아카이빙/C# 2018.06.30

[Effective C#] string.Format()을 보간 문자열로 대체하라

[Effective C#] string.Format()을 보간 문자열로 대체하라C# 6.0에는 보간문자열(Interpolated string)이라는 새로운 기능이 도입되었다.보간문자열이 뭘까? 예시로 살펴보자int a = 5; int b = 13; string str1, str2; ​ // 이랬던 것을 str1 = string.Format("{0} + {1} = {2}", a, b, a + b); Console.WriteLine(str1); ​ // 이렇게 바꾼다 str2 = $"{a} + {b} = {a + b}"; Console.WriteLine(str2);string.Format() 은 직접 출력해보고 눈으로 확인하기 전까지는 코드를 제대로 작성했는지 쉽게 짐작하기 어려운 반면, 보간 문자열은 포맷..

아카이빙/C# 2018.06.30