포스트를 만든 목적 Effective C# 을 읽고 내가 공부하기 위해서 만들었다. 내용 관련 링크 http://occamsrazr.net/tt/200 // C++ 에서의 이야기 http://blog.naver.com/mrlongpark/150051351612 여기서 말하는 연쇄적인 생성자 호출이란, 생성자가 호출하는 생성자를 뜻한다. using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace console { class ConsoleClass { public static void Main() { DelegateConstructorSampleCla..
전체 글 검색 결과
포스트를 만든 목적 Effective C# 을 읽고 공부하려고 만들었다. 내용 static 멤버 변수는 static 생성자를 사용 해서 초기화 하는게 좋다는 내용이다. 코드를 올릴테니, 컴파일 해보고, 어떻게 작동되나 눈으로 봐두는게 좋겠다. using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace console { class ConsoleClass { public static void Main() { HasStaticMember s1 = new HasStaticMember(); HasStaticMember s2 = new HasStaticMem..
Purpose-built post Effective C# 읽고 공부하려고 만들었다. Content 할당문보다는 변수 초기화를 사용하는 편이 더 좋다라는 말이 무슨 말인가? using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace console { class ConsoleClass { public static void Main() { // case 1 : 이것이 변수 초기화 이다. int a = 3; // case 2 : 이것이 할당문 초기화 이다. int b; b = 3; } class MyClass { // case 1 : 이것이 변수 초기화 ..
Purpose-built post Effective C# 을 읽고 공부하려고 정리한다. Content 관련링크 http://jongkok4.net/entry/ITEM-11-foreach-루프가-더-좋다. C#에서 콜렉션을 훑을 땐, 루프를 사용 한다. 루프 문법으로 do, while, for 가 있다. 하지만 이게 다가 아니였다. 콜렉션에 대해서 항상 최고의 순회 코드를 만들어내는 것이 있으니 바로 foreach 다. (물론 이는 책의 내용이다. 실제로는 성능이 다를 수 있다.) 성능상의 이점 말고 다른 이점은 없는가? 컨테이너의 처음/끝을 알 필요 없이 사용 할 수 있다. 또한 컨테이너를 변경하지 못하도록 막아주기도 한다. .. 그리고 .Net Framework 가 업데이트 될 때, 더 좋은 코드를 만..
Purpose-built post Effective C# 을 읽고, 공부하려고 정리 한다. Content 관련 링크 http://www.jongkok4.net/entry/ITEM-10-GetHashCode()의 함정에 유의하라 어떤 함정이 있는 것일까? Collection 의 Key 로 GetHashCode() 값을 사용하게 될 경우, 해쉬값이 변경 안될 것이라는 생각(이건 함정 보다는 collection 사용법에 가깝다.)이 함정이다. 똑같은 예로, c++ std::map 을 사용 할 때, map의 Key는 const 이므로 변경이 안되게 막아 둔것을 알 수 있을 것이다. 함정에 빠지면 어떻게 되는가? 만약 Collection의 Key로 GetHashCode()를 사용 하고, Collection 에 밀..
Purpose-built post 공부하려고 정리한다. Content 관련 링크 http://blog.naver.com/mrlongpark/150051350956 http://www.jongkok4.net/140 주의 제목에서 ReferenceEquals() 와 static Equals()는 System.Object 객체의 static 멤버 함수이며, instance Equals()는 생성된 객체의 멤버함수, operator== 는 C#의 operator 를 뜻한다는 것을 알아야 한다. 왜 이러한 연관성을 알아야 할까? C# 에서 서로 "같다" 라는 "비교" value 타입 과 reference 타입이 서로 다르기 때문에 같다 비교 연산이 4개나 존재 한다. :) using System; using Sy..
최근댓글