(C# : Basic) 2. 기초 문법

Posted by : at

Category : CSharp


if ~ else

if (true)
{
    Console.WriteLine("IF");
}
else if(false)
{
    Console.WriteLine("ELSE IF");
}
else
{
    Console.WriteLine("ELSE");
}

switch

int choice = 0;

switch(choice)
{
    case 0:
        Console.WriteLine("0");
        break;
    case 1:
        Console.WriteLine("1");
        break;

    // ...
    
    default:
        break;
}
int choice = 0;
int choice_1 = 1;
const int cchoice_2 = 2;

switch(choice)
{
    case choice_1:      // Error : case문에 변수는 못 넣음
        Console.WriteLine("0");
        break;
    case cchoice_2:     // Okay : 그런데 이게 가독성이 좋을까? -> enum을 써보자
        Console.WriteLine("1");
        break;

    // ...
    
    default:
        break;
}
enum Choice
{
    ROCK,       // = 0
    Paper = 2,  // 명시적으로 선언도 가능
    Scissors
}

switch(choice)
{
    case (int)Choice.ROCK:
        Console.WriteLine("0");
        break;

    // ...

삼항연산자

bool isPair = ((number % 2) == 0 ? true : false);

while

int cnt = 5;

while(cnt > 0)
{
    Console.WriteLine("0");
    cnt--;
}
int cnt = 5;

do  // 최초 한 번은 무조건 들어가라
{
    Console.WriteLine("0");
    cnt--;
} while(cnt > 0)

for

for(int i = 0; i < 5; i++)
{
    Console.WriteLine("0");
}

break, continue

for(int i = 0; i < 1000; i++)
{
    break;

    continue;
}

함수

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void HelloWorld()
        {
            Console.WriteLine("Hello Wrold");
        }

        static int Add(int a, int b)
        {
            return a + b;
        }

        static void AddOne(ref int num)
        {
            num++;
        }

        static void Main(string[] args)
        {
            Program.HelloWorld();

            Console.WriteLine(Program.Add(1, 2));

            int num = 0;
            Program.AddOne(ref num);
            Program.AddOne(ref num);
            Program.AddOne(ref num);
            Program.AddOne(ref num);
            Console.WriteLine(num);
        }
    }
}

out

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Divide(int a, int b, out int result1, out int result2)
        {
            result1 = a / b;
            result2 = a % b;
        }

        static void Main(string[] args)
        {
            int num1 = 10;
            int num2 = 3;

            int result1;
            int result2;

            Program.Divide(num1, num2, out result1, out result2);

            Console.WriteLine(result1);
            Console.WriteLine(result2);
        }
    }
}

오버로딩

using System;

namespace ConsoleApp1
{
    class Program
    {
        static int Add(int a, int b)
        {
            Console.WriteLine("int");
            return a + b;
        }

        // 오버로딩
        static double Add(double a, double b)
        {
            Console.WriteLine("double");
            return a + b;
        }

        static int Add(int a, int b, int c = 0) // 초기 선언도 가능
        {
            Console.WriteLine("int3");
            return a + b;
        }

        static void Main(string[] args)
        {
            int ret = Program.Add(1, 2);
            ret = Program.Add(1.0f, 2.0f);
            ret = Program.Add(1.0f, 3, c:2);   // 값을 지정해서 넣을수 있다.
        }
    }
}

About Taehyung Kim

안녕하세요? 8년차 현업 C++ 개발자 김태형이라고 합니다. 😁 C/C++을 사랑하며 다양한 사람과의 협업을 즐깁니다. ☕ 꾸준한 자기개발을 미덕이라 생각하며 노력중이며, 제가 얻은 지식을 홈페이지에 정리 중입니다. 좀 더 상세한 제 이력서 혹은 Private 프로젝트 접근 권한을 원하신다면 메일주세요. 😎

Star
Useful Links