
using System;
using System.Collections;
namespace NullConditionalOperator
{
class MainApp
{
public int member;
static void Main(string[] args)
{
MainApp foo = null;
int? bar;
bar = foo?.member; // foo 객체가 null 이 아니면 memeber 반환
// bar = foo?.member; 와 동일한 코드
if (foo != null)
bar = null;
else
bar = foo?.member;
}
}
}
using System;
using System.Collections;
namespace NullConditionalOperator
{
class MainApp
{
static void Main(string[] args)
{
ArrayList a = null;
a?.Add("Hello"); // a?.: null 반환 → Add() 메소드 호출 X
a?.Add("Fruit!");
Console.WriteLine($"Count: {a?.Count}");
Console.WriteLine($"a?[0]: {a?[0]}");
Console.WriteLine($"a?[1]: {a?[1]}");
a = new ArrayList();
a?.Add("Hello");
a?.Add("Fruit!");
Console.WriteLine($"\nCount: {a?.Count}");
Console.WriteLine($"a?[0]: {a?[0]}");
Console.WriteLine($"a?[1]: {a?[1]}");
}
}
}
[실행 결과]
Count:
a?[0]:
a?[1]:
Count: 2
a?[0]: Hello
a?[1]: Fruit!
using System;
namespace NullConditionalOperator
{
class MainApp
{
static void Main(string[] args)
{
int? num = null;
Console.WriteLine($"{num ?? 10}");
num = 99;
Console.WriteLine($"{num ?? 10}");
string str = null;
Console.WriteLine($"{str ?? "str = null"}");
str = "Hello Fruit!";
Console.WriteLine($"{str ?? "str = null"}");
}
}
}
[실행 결과]
10
99
str = null
Hello Fruit!
▪ 참고: Hello Fruit! - Nullable
▪ 사진 출처: Pixabay - Arek Socha