KO CSharp Nullability - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
ะฃะบัะฐัะฝััะบะฐ ยท ะ ัััะบะธะน ยท English ยท Deutsch ยท Franรงais ยท Italiano ยท Espaรฑol ยท ็น้ซไธญๆ ยท ๆฅๆฌ่ช ยท ํ๊ตญ์ด
null, null ํ์ฉ ์ ํ ๋ฐ ๊ฒ์ฌ
T? ๊ฐ ์ ํ์๋ ๊ฐ์ด ํ์ฉ๋์ง ์์ต๋๋ค(์: int?). ์ฐธ์กฐ ์ ํ์ ๋ํ Null ํ์ฉ ์ฃผ์์ ์ปดํ์ผ๋ฌ๊ฐ null์ ๋ํ ์ ์ฌ์ ์ธ ์ฐธ์กฐ๋ฅผ ์ฐพ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์๋ ๋ฐํ์ ๊ฒ์ฌ๋ฅผ ์ถ๊ฐํ์ง ์์ต๋๋ค. ?.๋ ์กฐ๊ฑด๋ถ ์ก์ธ์ค๋ฅผ ์ํํ๊ณ , ??๋ ๋์ฒด๋ฅผ ์ง์ ํ๊ณ , ??=๋ null์ ํ ๋นํฉ๋๋ค.
๊ฐ๋จํ ์์ (Example.cs)
์ด ์์ ๋ฅผ Example.cs๋ก ๋ฐ๋ก ์ ์ฅํ๊ณ ์ด ํ์ด์ง์ ๋ค๋ฅธ ์์ ์ ๋
๋ฆฝ์ ์ผ๋ก ์คํํ์ธ์.
Example.cs:
// PROJECT-EXAMPLE
string? name = null;
System.Console.WriteLine(name ?? "Unknown");
๊ฒฐ๊ณผ:
Unknown
string? name = null;
string display = name ?? "unknown";
int length = name?.Length ?? 0;
UO.Print($"{display}: {length}");
int? amount = null;
amount ??= 1;
if (amount is int value)
{
UO.Print(value.ToString());
}
! ์ฐ์ฐ์๋ null ๊ตฌ๋ฌธ ๋ถ์ ๊ฒฝ๊ณ ๋ฅผ ์ต์ ํ์ง๋ง ์์ธ๋ฅผ ๋ฐฉ์งํ์ง๋ ์์ต๋๋ค. null ํ์ฉ ๊ฐ ์ ํ์ ๊ฒฝ์ฐ HasValue๋ฅผ ํ์ธํ๊ฑฐ๋ ์์ผ๋์นด๋๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ GetValueOrDefault๋ฅผ ์ฌ์ฉํ์ธ์. ๋๋ฝ๋ ๊ฐ์ฒด์ ์ซ์ 0์ ์๋ก ๋ค๋ฅธ ์ํ์
๋๋ค.
๊ณต์ ๋ฌธ์: null, null ํ์ฉ ์ ํ ๋ฐ ๊ฒ์ฌ - Microsoft ์์๋ณด๊ธฐ.