개발하는 리프터 꽃게맨입니다.

[C#] C#에서 볼 수 있었던 생소한 연산자들 본문

언어/C#

[C#] C#에서 볼 수 있었던 생소한 연산자들

파워꽃게맨 2024. 5. 1. 17:17

저는 몇 년간 C와 C++ 만 다뤄왔고,

C# 을 공부하면서 생소한 연산자를 몇개 보았습니다. 

그것에 대해서 정리하는 포스팅을 작성하겠습니다.

 

[문자열 결합 연산자]

 

 

C# 에서는 문자열을 + 연산자를 통해서

결합할 수 있습니다.

 

[Null 조건부 연산자]

이 연산자는 C# 6.0에서 도입됐습니다

?. 연산자가 하는 일은 객체의 멤버에 접근하기 전에 해당 객체가 null 인지 검사하여 그 결과가 참이면 그 결과로 null을 반환하고, 그렇지 않은 경우에는 뒤에 지정된 멤버를 반환합니다.

 

 

Player 객체의 _name에 ?. null 조건부 연산자를 이용하여 접근하고 있습니다.

player1의 경우에는 _name 이 null 이었기 때문에 player1?._name 은 null 은 반환한것이고

player2의 경우 _name에 값이 존재했기 떄문에 player2의 _name의 값인 "Hello"를 반환하였습니다.

 

?[] 도 비슷한 기능을 수행하는 연산자 입니다.

단, 객체의 멤버 접근이 아닌 배열과 같은 컬렉션 객체의 첨자를 이용한 참조에 사용된다는 점이 다릅니다.

 

 

즉 

.? 은 클래스 멤버의 null 을 확인하기 위한 연산자

.[] 은 컨테이너 원소에 접근했을때 그것의 null 여부를 확인하기 위한 연산자

 

 

 

'언어 > C#' 카테고리의 다른 글

[C#] C#에서 구현하는 객체지향  (0) 2024.05.05
[C#] ref 키워드와 out 키워드  (0) 2024.05.04
[C#] C++에 비해서 강력해진 switch문!  (0) 2024.05.04
[C#] 데이터 형식  (0) 2024.04.29
[C#] C# 스터디 시작합니다.  (0) 2024.04.27