๊ด€๋ฆฌ ๋ฉ”๋‰ด

Algo ์“ฐ์ž

29-1. Null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž(Null Operator) ๋ณธ๋ฌธ

๐Ÿ’ป Programming Language/C#

29-1. Null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž(Null Operator)

S.Honey 2022. 4. 7. 09:40
  • ? : Nullable ํƒ€์ž…์„ ์„ ์–ธํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ์‚ฐ์ž

  • ?? ๋„(Null) ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž

    • a ?? 100 ์—์„œ a ๊ฐ’์ด null์ด๋ฉด 100์„ ๋ฆฌํ„ดํ•˜๊ณ , a๊ฐ€ null์ด ์•„๋‹ˆ๋ฉด a์˜ ๋ณธ๋ž˜๊ฐ’์„ ๋ฆฌํ„ดํ•œ๋‹ค.

    • ๊ฐ’์ด null์ด ๋˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋“ฏํ•˜๋‹ค. (๊ฐœ์ธ์ ์ธ ์˜๊ฒฌ)

namespace NullOperatorEx
{ 
    class Program
    {
        static void Main(string[] args)
        {
            int? bb = null;
            Console.WriteLine($"{bb ?? 10}");

            bb = 12;
            Console.WriteLine($"{bb ?? 10}");

            string str1 = null;
            // string ํƒ€์ž…์€ nullable์ด ๊ฐ€๋Šฅํ•˜๊ธฐ์— ๋”ฐ๋กœ nullable์—ฐ์‚ฐ์ž(`?`)๊ฐ€ ๋ถ™์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
            Console.WriteLine($"{str1 ?? "null ๊ฐ’์ž…๋‹ˆ๋‹ค."}");

            string str2 = "null์ด ์•„๋‹™๋‹ˆ๋‹ค.";
            Console.WriteLine($"{str2 ?? "null ๊ฐ’์ž…๋‹ˆ๋‹ค."}");
        }
    }
}
Output

10
12
null ๊ฐ’์ž…๋‹ˆ๋‹ค.
null์ด ์•„๋‹™๋‹ˆ๋‹ค.