| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- sparkmain(clone) 무한생성
- dfs
- 너비탐색
- 오블완
- 유니티 sparkmain(clone)
- dropdown
- articulation body
- 디지털트윈
- 행동트리
- list clear
- 최단거리 알고리즘
- Unity
- 트리구조
- readonly
- Simulation
- 깊이탐색
- 최소신장트리 mst
- C#
- 드롭다운
- raycast
- 습관형성 #직장인자기계발 #오공완
- 티스토리챌린지
- removeAll
- sparkmain(clone)
- 크루스칼
- unity sparkmain(clone)
- GetComponent
- navisworks api
- 유니티
- unity korea
- Today
- Total
낑깡의 게임 프로그래밍 도전기
C# null 처리 본문
null검사하기, 병합 컨트롤(?, ??의 활용), nullable
1.null 검사하기
static GifrBox gifrBox = new GifrBox();
이렇게 할당해주지않음면 static GifrBox gifrBox = null상태가됨
그래서 인스턴스변수를 쓸때는 항상 null체크가 붙음. null 체크는 잊지 않고 꼭하기!
값타입은 null이 있을 수 없어서 초기값 0를 항상 해주자.
string은 null이 들어갈수 있으니 null체크를 한다.
string은 이런 상황이 많아서 string.IsNullEmpty(str)을 쓰기도한다.(null 체크와 같은 것)
string은 ""나 string.Empty로 초기값 해줌
list도 메모리 아낀다고 선언만해주고 할당을 안해주면 에러가 난다.List<string> strings = new List<string>(); 형태로 늘 인스턴스 선언을 해주자.
2. 병합컨트롤(?, ??의 활용)
Console.WriteLine(giftbox?.Letter?.Length); //?로 null체크
Console.WriteLine(giftbox?.Letter?.Length ?? 0); //?? : null이 발생했을때 0을 대입해준다.
3. nullable
null을 쓰게 만들어 주는 것
int? a = null;
if(a == null)도되고 if(a.HasValue)로 null 체크를 해도된다
//사용 예 : 서버에서 값을 줬는지 안 줬는지 확인을 위해서 쓸 수 있다.
*nullable은 에러가 발생률이 높아서 잘 쓰진 않는다. 서버랑 말도 맞춰야하고 null을 파싱하다가 기본값이 들어가 버릴수도 있다.
bool을 활용해서 값이 있는지 없는지 같이 표시하기도 한다.
'C#' 카테고리의 다른 글
| C# 프로퍼티(Property) (0) | 2025.07.15 |
|---|---|
| C# try catch (1) | 2025.07.14 |
| C# 흐름제어(if, switch, 삼항연산자, while, do while, break, countinue, 2중 for문) (2) | 2025.07.11 |
| C# 연산자 (3) | 2025.07.08 |
| C# 데이터 표현 (0) | 2025.07.07 |