Home C# 프로그래밍 기법
Post
Cancel

C# 프로그래밍 기법

C# 프로그래밍 기법

이 포스팅은 Effective C# 을 읽고 내용을 정리하기 위한 스터디용 포스팅입니다. 실제 내용과 다를 수 있으니 본 책을 직접 구매하셔서 읽는 것을 추천합니다.

(update 20.04.15)

  1. 지역 변수 선언시 var을 사용할 것
    • 길어진 타입명을 정확히 기술하는 것보다, var 을 사용하고 변수와 메서드를 작명할 때 타입을 유추할 수 있도록 하는 것이 더욱 좋을 수 있다.
    • 올바르게 타입명을 지정하지 않아 형변환이 발생할 경우 기존에 있던 기능을 사용할 수 없게 된다. 이로인해 성능차가 발생할 수 있다.
    • 단, 내장 숫자 타입(int, float, double 등)을 사용하거나 타입을 유추하기 모호한 상황에서는 타입명을 그대로 쓰는 것이 좋다.
  2. const 보다는 readonly를 사용할 것
    • 성능상으로는 컴파일타임 상수 const가 약간 더 빠르지만 런타임 상수 readonly가 유연성이 좋다.
    • const는 컴파일타임에 상수를 리터럴로 대체해야하기 때문에 내장 자료형(숫자, enum, 문자열, null)에 대해서만 사용할 수 있으나 readonly는 어디에나 사용할 수 있다.
    • readonly는 멤버 초기화 구문과 생성자에서 초기화 될 수 있으므로 동일 클래스의 인스턴스라고 해도 다른 값을 가질 수 있다.
    • const는 값을 수정할 때 응용프로그램 전체를 다시 빌드해야하지만 readonly는 해당되는 어셈블리만을 빌드하면 된다.
    • 단, 컴파일 때 사용되는 상숫값, 명명된/선택적 매개변수 사용 시에는 const 를 사용하게된다.
  3. 캐스트보다는 is와 as를 사용할 것
    • as 는 런타임에 더 효율적으로 동작하고 읽기 편하다.
    • 캐스팅 불가능할 경우 null을 반환하므로 try/catch 구문이 필요없고 명확하게 타입변환이 가능하다.
    • 캐스트는 사용자 정의 형변환이 가능하지만 컴파일타임에 알 수 있는 타입에 관해서만 가능하므로 잠재적인 오류가 발생할 수 있다.
This post is licensed under CC BY 4.0 by the author.

닷넷(.NET)

셋/맵