728x90
using System;
namespace CSharp
{
class Program
{
static void Main()
{
// Nullable -> Null + able
int? num = null; // <- ?를 추가하면 null도 사용 가능
num = 3;
// int a = num; // <- Nullable형식을 in 형식으로 변환불가
int a = num.Value; // <- Value로 값을 꺼내야함 num의 값이 비어있을 경우 크래시가 발생하기 때문에 null 체크를 해야함
if (num != null) // <- num이 비어있지 않을 때
{
Console.WriteLine(a);
}
if (num.HasValue) // num이 값을 가지고 있을 때
{
Console.WriteLine(a);
}
int b = num ?? 0; // <- num이 null이면 설정한 값 (0)을 반환
Monster monster = null;
if (monster != null)
{
int monsterId = monster.Id;
}
else
{
monster = null;
}
int? id = monster?.Id; // <- 몬스터가 null 이면 id는 null, 아니면 id값
}
static int Find()
{
return 0;
// return null; // <- int같은 경우 null을 반환할 수 없음
}
}
class Monster
{
public int Id
{
get; set;
}
}
}728x90
'C# > 공부' 카테고리의 다른 글
| C# 선형 자료 구조 (0) | 2021.09.09 |
|---|---|
| C# Reflection (0) | 2021.09.06 |
| C# Exception 예외처리 (0) | 2021.09.06 |