티스토리 뷰

dev_note/TIL

C# 문법 공부하기

jjoylee 2022. 7. 19. 10:52

최근에 좀 익숙하지 않은 문법이 있어서 조금씩 정리해보려한다.

📌 Expression-bodied member

속성이나 메서드의 바디 블럭이 간단한 경우, 이를 람다식으로 표현할 수 있다.

 

📌 기본 인터페이스 메서드

인터페이스에 메서드를 추가할 수 있다. 이 기능은 해당 인터페이스의 기존 구현과 소스 또는 이진 호환성을 손상시키지 않고 메서드를 추가하기 위해 만들어졌다. (하위 호환성)

기본 인터페이스 메서드는 해당 인터페이스 타입 변수에서만 접근할 수 있다.

인터페이스에 속성도 선언할 수 있다.

 

📌 ? 관련 연산자

1. ? : null-forgiving 연산자

값 타입에도 null을 할당할 수 있게 해준다.

null 상태를 체크할 수 있는 기능이 있는 struct (HasValue)

컴파일시 Nullable<T> 구조체로 변환된다.

 

2. ?. 또는 ?[] : null 조건부 연산자

피연산자가 null이 아닌 것으로 평가되었을 때만 멤버나 요소에 접근한다.

피연산자가 null이면 멤버나 요소에 접근하지 않고 null을 반환한다.

 

3.. ?? : null 병합 연산자

null이 아닌 경우 왼쪽 피연산자의 값을 반환하고, 그렇지 않으면 오른쪽 피연산자 값을 반환한다.

 

4. ??= : NULL

왼쪽 피연산자가 null일 때 오른쪽 피연산자의 값을 왼쪽 피연산자에 대입한다.

 

📌 init

객체의 속성 초기화

속성이 초기화되면 그 이후에 변경할 수 없다. 내부에서도 변경 X

📌 Reference

https://www.csharpstudy.com/CS6/CSharp-Expression-bodied-member.aspx

https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/interface-properties

https://www.csharpstudy.com/latest/CS8-def-itf-mem.aspx

https://www.csharpstudy.com/latest/CS8-null-coalescing.aspx

https://www.csharpstudy.com/CSharp/CSharp-nullable.aspx

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/operators/null-coalescing-operator

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/operators/null-forgiving

https://www.csharpstudy.com/latest/CS9-init.aspx

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
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
글 보관함