기본 패턴
csharp
#nullable enable
string name = "Mina";
string? nickname = null;
if (nickname is not null)
{
Console.WriteLine(nickname.Length);
}설명
- 참조형도 null 가능 여부를 타입으로 구분할 수 있습니다.
string은 null이 아니어야 하는 값,string?는 null일 수 있는 값입니다.- 컴파일러 경고를 통해 null 접근 가능성을 미리 찾는 데 도움이 됩니다.
짧은 예제
csharp
public void PrintName(string? value)
{
if (value is null) return;
Console.WriteLine(value.ToUpper());
}빠른 정리
| 문법 | 의미 |
|---|---|
string | null 아님 |
string? | null 가능 |
#nullable enable | nullable 분석 사용 |
주의할 점
! null-forgiving 연산자는 경고를 숨길 뿐 실제 null을 막아 주지는 않습니다. 원인을 이해하고 최소한으로만 쓰는 편이 좋습니다.