본문 바로가기
Unity/공부

[ Unity .Net Web Socket/문제 해결 ] 네트워크 데이터 연결 null 값 처리하기

by 왹져박사 2024. 9. 2.

서버의 DB가 아직 안정화되지 않은 상태에서 Unity Client는 계속 test data로 진행을 해야 하는 상황이었다. 

어떤 값은 null로 들어와 진행을 할 수 없었는데, 어떻게든 진행하기 위하여 임시로 처리하는 과정을 시도하였다. 

 

지난번 포스팅한 ??연산자를 이용하였다. 

2024.08.23 - [Unity/공부] - [Unity] ?. 연산자와 ?? 연산자

 

[Unity] ?. 연산자와 ?? 연산자

인턴으로 맡게 된 기존 VR 프로젝트 오류 수정과 리팩토링을 진행하며 ?.연산자를 정말 많이 보았다. 그러던 중 전의 게시물의 == 연산자와 어떻게 다른 역할을 하는지 같이 공부하게 되었다.  ?

narmhye.tistory.com

 

int a 가 null인 경우, 

처음에 단순하게 int b = a??1; 이렇게 넣으려 하니 오류가 발생하였다. 

저번에 배운 내용으로는 이런 방식으로 적용할 수 있을 것 같다고 생각하며 더 공부해 보았다. 

 

해결한 방법은 a의 선언을 int ? a로 하는 것이었다. 

그리고 앞 혹은 뒤에 시스템 언어로 #nullable enable, #nullable disable을 추가해 주었다.

(이는 추가해주지 않아도 동작하긴 했지만, 추가하니 우선 visual studio가 안정적으로 느끼는 듯 하다. C#의 자료형뿐이 아닌 웹과 통신을 위하여 시스템 자료형을 사용했기 때문에라고 생각한다. )

 

결론적으로, 네트워크데이터로 int ? a;로 선언 후 받아온 뒤에 

int b = a ?? 1; 이렇게 하니 값을 잘 받아왔다!