[Effective C#] 초기화 코드가 중복되는 것을 최소화하라

2024. 8. 13. 19:21·독서/Effective C#


01. 공통 생성자를 추가하라

public class Example01
{
    private int count;
    private string name;

    public Example01() : this(0, string.Empty) { }
    public Example01(int count) : this(count, string.Empty) { }
    
    public Example01(int count, string name)
    {
        this.count = count;
        this.name = name;
    }
}

 

위 코드와 같이 필요에 따라서 생성자를 나누고 공통적으로 취합하는 생성자가 있다면 코드의 양을 최소화 시킬 수 있다. 

 

02. C# 4.0 이후의 선택적 매개변수

선택적 매개변수는 다음과 같이 사용할 수 있다.

// count를 입력하지 않으면 기본 값은 5다.
public void TestMethod(int count = 5)

 

선택적 매개변수를 통해서 위 코드를 간소화 할 수 있다.

 

public class Example01
{
    private int count;
    private string name;

    public Example01() : this(0, string.Empty) { }
    public Example01(int count = 0, string name = "")
    {
        this.count = count;
        this.name = name;
    }
}

 

 

'독서 > Effective C#' 카테고리의 다른 글

[Effective C#] 불필요한 객체를 만들지 말라  (0) 2024.08.14
[Effective C#] 정적 클래스 멤버를 올바르게 초기화하라  (0) 2024.08.09
[Effective C#] 할당 구문보다 멤버 초기화 구문이 좋다  (0) 2024.08.08
[Effective C#] .NET 리소스 관리에 대한 이해  (0) 2024.08.07
[Effective C#] 베이스 클래스가 업그레이드된 경우에만 new 한정자를 사용하라  (0) 2024.08.06
'독서/Effective C#' 카테고리의 다른 글
  • [Effective C#] 불필요한 객체를 만들지 말라
  • [Effective C#] 정적 클래스 멤버를 올바르게 초기화하라
  • [Effective C#] 할당 구문보다 멤버 초기화 구문이 좋다
  • [Effective C#] .NET 리소스 관리에 대한 이해
태역
태역
  • 태역
    RYULAB
    태역
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 언어
        • C
        • C++
        • C#
      • 엔진, 프레임워크
        • Unity
        • Unreal
        • Electron
      • 공부
        • 디자인 패턴
        • 수학
        • CS
        • Git
        • 알고리즘
        • 자료구조
      • 코테
        • 프로그래머스
        • 백준
      • 독서
        • Effective C#
        • CLR via C#
        • 뇌를 자극하는 윈도우즈 시스템 프로그래밍
        • 오브젝트
        • CSAPP
        • OSTEP
      • 프로젝트
        • Unity
      • 개발 일지
        • 퓨처리티
        • 골든타임
      • 활동
        • 게임잼 후기
        • 게임제작동아리 브릿지
        • 크래프톤 정글
        • 기타
      • 기타
  • 블로그 메뉴

    • 링크

    • 공지사항

      • 2024 04 17
    • 인기 글

    • 태그

      오블완
      인프런 #인프런강의후기 #게임개발 #게임개발강의 #인강후기 #강의후기 #게임개발자 #인프런강의
      티스토리챌린지
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    태역
    [Effective C#] 초기화 코드가 중복되는 것을 최소화하라
    상단으로

    티스토리툴바