Language/C#

C# - 데이터 변환(convert, parse,tryparse), 어레이(Array), 주석(Comments), 이프(If),논리 연산자(Logical Operator), Switch , While, Do while Loop statement

청렴결백한 만능 재주꾼 2021. 1. 5. 07:30
반응형

int32.parse(스트링인 숫자)

: 변환된 것을 리턴함. int32로 변환이 됨.

 

convert.toint32

: 기본 데이터 타입 -> 기본 데이터 타입. 

 

int.TryParse(스트링인 숫자 , out [저장될 변수])

- 넣은 문자열로 되어있는 숫자가 지정한 변수에 저장이 되고 이 함수 자체는 True or False를 리턴한다.

 

 

 

어레이 Array

using System;

class Program
{
	static void main()
    {
    	int[] Numbers = new int[3];  //int인 array를 Numbers란 변수에 만듬. 이 array는 3개의 값만 받음;
       Numbers[0] = 10;
       Numbers[1] = 11;
       Numbers[2] = 12;
       
       
    }

}

지정한 갯수보다 더 넣을순 없다. 

 

 

 

 주석 Comments

  • Single line Comments - //
  • Multi line Comments - /* */
  • XML Documentation Comments - ///

모든 라인에 주석달기엔 그렇고 적정량의 주석을 적당한 빈 라인에 넣는 것을 추천.

 

 

 

If Statement  이프 문

using System;

class Program
{
	static void main()
    {
    	int UserNumber = int.Parse(Console.ReadLine());
        
       if (UserNumber == 1)
       {
       	Console.WriteLine("Your number is one")
       }
       
       else
       {
       	Console.WriteLine("Your number is not one")
       }
       
    }

}

 

논리 연산자 Logical Operator

| 싱글파이프 - 비트 연산자

|| 더블파이프 - 논리 연산자

는 OR을 상징

 

 

& 비트연산자

&& 논리연산자

는 AND 를 뜻함.

 

여기서 두개짜리 ||, && 는 조건부 논리 연산자이다. Conditional Logical Operator 또는 short-circuiting 논리 연산자로도 불린다. short-circuiting이 무슨말이냐 하면 OR은 조건 중 하나라도 참일 경우 다음 단계로 넘어가면 되는데 몇 개의 조건 중 참이 나오면 뒤에 상관없이 다음 단계로 넘어간다.

 

그러니까 두개짜리 논리 연산자는 참/거짓이 나오는 즉시 다음 단계로 넘어간다. 하지만 하나짜리는 앞에서 뭐가 나오던 모든 조건의 참/거짓을 판별한 다음에 참/거짓을 리턴한다. 그러니까 두개짜리가 한개짜리보다 비용이 적게 들어간다는 것.

 

 

Switch statement 스위치 문

using System;
{
    class Test
    {
        static void Main()
        {
            int TotalCoffeeCost = 0;

            Start:
            Console.WriteLine("Please Select Your Size : \n 1 - Small, 2- Medium, 3 - Large");
            int UserChoice = int.Parse(Console.ReadLine());

            switch (UserChoice)
            {
                case 1:
                    TotalCoffeeCost += 1;
                    break;
                case 2:
                    TotalCoffeeCost += 2;
                    break;
                case 3:
                    TotalCoffeeCost += 3;
                    break;
                default:
                    Console.WriteLine("Your choice {0} is invalid", UserChoice);
                    break;
            }

            Decide:
            Console.WriteLine("Do you want to buy another coffee - Yes or No?");
            string UserDecision = Console.ReadLine();

            switch (UserDecision.ToUpper())
            {
                case "YES":
                    goto Start;
                case "NO":
                    break;
                default:
                    Console.WriteLine("Your choice {0} is invalid. Please try again ... ");
                    goto Decide;
            }
            Console.WriteLine("Bill Amount = {0}", TotalCoffeeCost);

            Console.WriteLine("Thank you for shopping with us");
            Console.WriteLine("Bill Amount = {0}", TotalCoffeeCost);
        }


    }


}

위의 if문과 비슷하지만 더욱 더 간편하게 쓸 수 있다.   많은 조건을 줄 때 유용할 것 같다. 

그리고 Start나 Decide같이 어떤 웨이포인트? 와드같은 것을 하여 goto로 어느 지점에 보낼 수 가 있다.

 

 

While loop in C# 와일 루프

using System;
{
    class Test
    {
        static void Main()
        {
           Console.WriteLine("Please enter your target ? ")
           int UserTarget = int.Parse(Console.ReadLine());
           
           int Start = 0;
           
           while (Start <= UserTarget)
           {
           	Console.WriteLine(Start);
            Start = Start + 1;
           }
        }
    }
}

무한 루프에 빠지지 않게 꼭 조건을 넣어주자~는 것이 주의사항

 

 

 

Do while loop 두 와일 루프

using System;
namespace Decimal
{
    class Test
    {
        static void Main()
        {
            string UserChoice = string.Empty;
            do
            {
                Console.WriteLine("Please enter your target ? ");
                int UserTarget = int.Parse(Console.ReadLine());

                int Start = 0;

                while (Start <= UserTarget)
                {
                    Console.WriteLine(Start);
                    Start = Start + 1;
                }

                do
                {
                    Console.WriteLine("Do you want to continue - Yes or No ? ");
                    UserChoice = Console.ReadLine().ToUpper();
                    if (UserChoice != "YES" && UserChoice != "NO")
                    {
                        Console.WriteLine("Invalid Choice, Please say Yes or No");
                    }
                } while (UserChoice != "YES" && UserChoice != "NO");
            } while (UserChoice == "YES");
         }
    }
}

와일루프와 두와일루프의 차이점:

while은 조건을 먼저 보고 내려가서 작업한 다음 다시 올라와서 조건보고 만족했으면 넘어간다.

do while을 같이 쓴다면 먼저 지시한 작업을 한 다음 내려가서 조건을 보고 False일시 다시 올라와서 작업하고 내려가서 조건을 본다.

 

그게 두와일과 그냥 와일의 차이다

 

 

 

 

반응형