C#

[C# ๊ธฐ์ดˆ๊ณต๋ถ€] C# ๊ธฐ๋ณธ ๋ฌธ๋ฒ•(์—ฐ์‚ฐ์ž)

zoozoo2 2023. 1. 4. 21:03

๐ŸŸง ๋‹จํ•ญ ์—ฐ์‚ฐ์ž

โ–ถ +,-, !, ~, ++, -- ๋“ฑ

โ–ถ!์€ boolํ˜•์—๋งŒ ์‚ฌ์šฉ

 

๐ŸŸง์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž

โ–ถ *, /, %, -, +

โ–ถstirng์—์„œ +๋Š” ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ

 

์ •์ˆ˜/๋ถ€๋™ + "๋ฌธ์ž์—ด" ="๋ฌธ์ž์—ด"

 

๐ŸŸง ์‹œํ”„ํŠธ(shift) ์—ฐ์‚ฐ์ž์™€ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž

โ–ถ <<, >>, >=,<=, >,>,==, != 

โ–ถ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž์˜ ๊ฒฐ๊ณผ๋Š” true, false

 

๐ŸŸง is์—ฐ์‚ฐ์ž

โ–ถํ˜•์‹ ํ˜ธํ™˜์„ ์กฐ์‚ฌํ•˜๋Š” ์—ฐ์‚ฐ์ž

โ–ถ ํ˜•์‹

  • '๋ณ€์ˆ˜' is 'ํด๋ž˜์Šคํ˜•' or  '๋ฐ์ดํ„ฐํ˜•'
  • A  is   B
  • ๊ฒฐ๊ณผ๋Š” true  false

โ–ถ ๋ฐ•์‹ฑ/์–ธ๋ฐ•์‹ฑ ๋ณ€ํ™˜, ์ฐธ์กฐ ๋ณ€ํ™˜์—์„œ ์‚ฌ์šฉ

 

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            int nValue = 10;
            if(nValue is float)
            {
                Console.WriteLine("ํ˜ธํ™˜๋จ");
            }
            else
            {
                Console.WriteLine("ํ˜ธํ™˜ ์•ˆ๋จ");
            }
            Object obj = nValue; //๋ฐ•์‹ฑ
            if(obj is int)
            {
                Console.WriteLine("ํ˜ธํ™˜๋จ");
            }
            else
            {
                Console.WriteLine("ํ˜ธํ™˜ ์•ˆ๋จ");
            }
        }
    }
}

 

 

๐ŸŸง as ์—ฐ์‚ฐ์ž

โ–ถ์—ญํ• 

  • ํ˜•๋ณ€ํ™˜๊ณผ ๋ณ€ํ™˜ ์กฐ์‚ฌ (๋ณ€ํ™˜ ์•ˆ๋˜๋ฉด null, ๋˜๋ฉด ๋ณ€ํ™˜๋œ ๊ฐ’์„ ์คŒ)
  • ์บ์ŠคํŠธ ์—ฐ์‚ฐ์ž์˜ ์—ญํ• ๊ณผ ๋ถˆ๋ณ€ํ™˜์€ null๋ฆฌํ„ด

โ–ถ์ฐธ์กฐ, ๋ฐ•์‹ฑ, ์–ธ๋ฐ•์‹ฑ, nullํ˜•์— ์‚ฌ์šฉ

 

โ–ถํ˜•์‹

  • ๊ฒฐ๊ณผํ˜• = ์ฐธ์กฐํ˜•, ์–ธ๋ฐฉ์‹, ๋ฐฉ์‹ as ๋ณ€ํ™˜ํ˜•
namespace ConsoleApp4
{
    class A
    {

    }
    class B
    {

    }
    class Program
    {
        static void Main(string[] args)
        {
            string str1 = "123";
            object obj = str1;
            string str2 = obj as string;
            Console.WriteLine(obj);
            Console.WriteLine(str1);
            Console.WriteLine(str2);

            A test1 = new A();
            object obj1 = test1;
            B test2 = obj1 as B;
            if(test2 == null)
            {
                Console.WriteLine("ํ˜•๋ณ€ํ™˜ ์‹คํŒจ");
            }
            else
            {
                Console.WriteLine("ํ˜•๋ณ€ํ™˜ ์„ฑ๊ณต");
            }
            
        }
        
    }
}

 

 

๐ŸŸง null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž

โ–ถ ? ? (null ์กฐ์‚ฌ)

 

โ–ถC = A ? ? B

  • A๊ฐ€ null์ด ์•„๋‹ˆ๋ฉด A๋ฅผ C์— ๋Œ€์ž…
  • A๊ฐ€ null์ด๋ฉด B๋ฅผ C์— ๋Œ€์ž…

์ž๋ฐ”์˜ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ž‘ ๋น„์Šทํ•˜๊ตฌ๋งŒ!

namespace ConsoleApp4
{
    class Myclass
    {

        static void Main(string[] args)
        {
            int? x = null; // nullableํ˜•์‹, null ์ €์žฅ ๊ฐ€๋Šฅ
            int y = x ?? -1; // x๊ฐ€ null์ด๋ฏ€๋กœ y = -1
            Console.WriteLine(y); // -1
            x = 10;
            y = x ?? -1; //x๊ฐ€ 10์ด๋ฏ€๋กœ y = 10
            Console.WriteLine(y); // 10
        }
    }
}