일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘 문제풀이
- 독후감
- 일본음식
- 개발
- build
- 이펙티브 C#
- 유니티
- Unity
- HackerRank
- 이펙티브 씨샵
- Android
- 정렬
- C#
- 빌드
- 알고리즘
- 해커랭크
- 서평
- Effective C#
- 해커랭크 문제풀이
- 프로그래밍
- 문제풀이
- 코토리
- 독서
- javascript
- IOS
- 방학여행
- 자유여행
- 프로그래밍도서
- 책리뷰
- 책 정리
- Today
- Total
목록프로그래밍/Effective C# (2)
Console.Log
ITEM 11: .NET 리소스 관리에 대한 이해 힙에 관한 메모리 관리는 가비지 콜렉터가 완전히 책임진다. 그러나 그 외의 비관리 리소스는 개발자가 관리해야함. → 비관리 리소스는 finalizer 와 IDisposable인터페이스라는 두가지 메커니즘 제공 [위험] finalizer: finalizer를 포함하고 있는 객체를 가비지로 판단한 경우, 이 객체에 대한 참조를 다른 큐에 삽입하여 나중에 finalizer를 호출될 수 있도록 사전 준비만 수행. 가비지 콜렉터의 세대 개념 0세대: 수집 절차 이후 생성된 객체들 1세대: 수집 절차에서 살아남은 객체들 2세대: 두번 혹은 그 이상의 수집 절차에서 살아남은 객체들 수집 절차 기본적으로 0세대 객체만 검사 1세대는 대략 10번에 한 번 검사 2세대는 ..
ITEM 1: 지역변수를 사용할 때는 var를 사용하라 타입을 명시적으로 드러내지 않는 경우라면 var를 사용하는 것이 좋다.1234567IEnumerable q = from c in db.Customers select c.ContactName; var q2 = q.Where(s => s.StartsWith(start)); return q2;Colored by Color Scriptercs q를 var로 받지 않을경우, IQueryable을 반환해야 하지만 상위객체인 IEnumerable로 반환하게 되어 Where 구문에서 성능이 저하되게 된다. 반대로 q를 var로 받았을 경우에는 IQueryable를 반환하게 되어 성능저하가 발생하지 않게 된다. 내장 숫자 타입(int, float, double등)을..