C# 11.0의 required modifier

2023. 11. 10. 10:45·C#
반응형

C# 11.0에서는 required modifier가 추가되었습니다. required modifier는 클래스, 구조체, 인터페이스의 필드 또는 속성에 적용하여, 해당 필드 또는 속성이 반드시 초기화되어야 함을 나타냅니다.

 

required modifier 사용하기

required modifier를 사용하려면, 필드 또는 속성에 required 키워드를 추가하면 됩니다.

// required modifier 사용
struct Person
{
    public string Name { get; set; } = "John Doe";
    public int Age { get; set;; } = 30;
    public required string Address;
}

이 코드에서는 Person 구조체의 Address 속성에 required modifier를 적용했습니다. 따라서 Person 인스턴스를 생성할 때 Address 속성을 반드시 초기화해야 합니다.

 

객체 생성 시 초기화하지 않으면

required modifier를 적용한 필드 또는 속성을 초기화하지 않으면 컴파일 오류가 발생합니다.

// required modifier 없이 초기화하지 않으면 컴파일 오류 발생
Person person = new Person();


required modifier를 사용하지 않으면

required modifier를 사용하지 않으면, 필드 또는 속성을 초기화하지 않아도 컴파일 오류가 발생하지 않습니다. 그러나, 해당 필드 또는 속성이 사용되기 전에 초기화되지 않으면 예외가 발생할 수 있습니다.

 

주의사항

required modifier를 사용할 때는 다음과 같은 점에 유의해야 합니다.

  • required modifier를 적용한 필드 또는 속성은 반드시 초기화해야 합니다.
  • required modifier를 적용한 필드 또는 속성을 초기화하지 않으면 컴파일 오류가 발생합니다.
  • required modifier를 사용하지 않으면, 필드 또는 속성을 초기화하지 않아도 컴파일 오류가 발생하지 않습니다. 그러나, 해당 필드 또는 속성이 사용되기 전에 초기화되지 않으면 예외가 발생할 수 있습니다.

결론

C# 11.0의 required modifier는 필드 또는 속성이 반드시 초기화되어야 함을 나타내기 위한 기능입니다. 이를 통해, 개발자는 필드 또는 속성이 누락되거나 잘못 초기화되는 것을 방지할 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'C#' 카테고리의 다른 글

C#에서 class와 struct의 차이점  (0) 2023.12.06
C# Linked List  (0) 2023.12.02
C# 6.0 정적 멤버 직접 사용  (2) 2023.11.09
C# 6.0의 catch/finally 블럭에서 await 사용  (0) 2023.11.08
Microsoft.CodeAnalysis.LanguageServer client: couldn't create connection to server.  (1) 2023.10.27
'C#' 카테고리의 다른 글
  • C#에서 class와 struct의 차이점
  • C# Linked List
  • C# 6.0 정적 멤버 직접 사용
  • C# 6.0의 catch/finally 블럭에서 await 사용
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    unity
    스마트스토어리뷰
    appdevelopment
    programmerlife
    라떼우유
    스크립트 실행
    유니티
    C#
    쇼핑몰리뷰
    Python
    programming101
    상품 리뷰 크롤링
    셀레니움
    ipcamera
    learntocode
    카페24리뷰
    리뷰이관
    codingtips
    list
    카페24리뷰이관
    믈레코비타멸균우유
    devlife
    리스트
    cv2
    codingcommunity
    rtsp
    파이썬
    스크립트 실행 순서
    리뷰관리
    긴유통기한우유
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
C# 11.0의 required modifier
상단으로

티스토리툴바