ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [04강] C# 기본 문법
    프로그래밍/C# 2022. 4. 12. 03:10

    목차

    1. 연산자
    2. 제어문
    3. 반복문
    4. 점프문
    5. 예외처리문

     

    연산자

      단항 연산자

      - +, -(기호로써), !, ~, ++, -- 등

      - !은 bool형에만 사용

     

      산술 연산자(이항 연산자)

      - *, /, %, -, +

      - string에서 +는 문자열 연결

     

      시프트 연산자와 관계 연산자

      - <<, >>, >=, <=, >, <, ==, !=

      - 관계 연산자의 결과는 true 혹은 false

     

      is 연산자

      - 형식 호환을 조사하는 연산자

      - 형식

        변수명 is 클래스명/데이터형

        A is B

      - 결과는 true, false

      - 박싱/언박싱 변환, 참조 변환에서 사용

     

      as 연산자

      - 형변환과 변환 조사

      - 캐스트 연산자의 역할과 불변환은 null 리턴 : null을 받기 때문에 nullable형

      - 참조, 박싱, 언박싱, null형에 사용

      - 형식 : 결과형 = 참조형, 언박싱, 박싱 as 변환형

     

      비트 연산자와 논리 연산자

      - &, ^, |, &&, ||, ? :

     

      null 병합 연산자

      - ?? (null 조사)

      C = A ?? B

      A가 null이 아니면 A를 C에 대입. A가 null이면 B를 C에 대입

      if문으로 여러 줄에 나누어 풀어 쓸 수 있다

    if(A != null)
    	C = A;
    else
    	C = B;

     

    제어문

      선택문

      - if ~ else 

      - switch ~ case

        정수, 문자 상수, 문자열

        모든 case와 default에는 break가 반드시 있어야 함.

    반복문

      - for

        for( ; ; ) 무한 반복

      - while, do~ while

        while(true)로 무한 반복

      - foreach

        처음부터 끝까지 순차적으로 값을 반복하여 읽는 역할(읽기 전용)

        foreach( 읽을데이터형 변수명 in 배열명(컬렉션명) ) { }

    int[] array2 = {1, 2, 3, 4, 5};
    
    foreach (int nValue in array2)
    {
    	Console.WriteLine(nValue);
    }

     

    점프문

      - goto, continue, return, break....

        goto문은 필요하면 사용해야 한다. 

     

    예외처리문 (중요!!)

      - 예외란? 런타임 시에 발생할 수 있는 오류

      - 예외 처리 방법

        if ~ else

        try ~ catch문 사용

    try
    {
    	// 예외가 발생할 수 있는 코드
    }catch(예외처리객체 e)
    {
    	// 예외 처리
    }

      - System.Exception 파생 객체만 사용

        OverFlowException, FormatException, DivideByZeroException, FileNotFoundException 등

      - IndexOutOfRangeException(주로 배열에서)

      - try문 안에서 초기화한 변수를 try문 밖에서 사용할 수 없다

     int[] array = {1, 2, 3};
     try
     {
         array[3] = 10;
     }
     catch (IndexOutOfRangeException e)
     {
         Console.WriteLine("배열 인덱스 에러 발생");
         Console.WriteLine(e.ToString());
         array[2] = 10;
     }
    
     for (int i = 0; i < array.Length; i++)
     {
         Console.WriteLine($"{array[i]}");
     }

     

      - try ~ finally 

        예외 발생과 상관없이 항상 실행되는 구문

     

      - 다중 예외 처리

        try{

        }catch (OverFlowException e) {

        }catch (DivideByZeroException e) { } ...

     

      - throw(던지다)

        예외 상황을 임의로 발생시키는 역할

        System.Exception에서 파생된 객체만 사용

        try문과 그 외에서 사용 가능

    static int GetNumber(int index)
    {
        int[] nums = {300, 600, 900};
        if (index >= nums.Length)
        {
            throw new IndexOutOfRangeException();
        }
    
        return nums[index];
    }
    
    static void Main(string[] args)
    {
        int result = GetNumber(3);
    }

     

    정리

      - 대부분의 연산자는 C, C++언어와 같음

      - C#에서 새롭게 등장한 연산자

        is, as, null병합 연산자

      - foreach

      - 예외처리문

        try ~ catch ~ finally

        throw

    '프로그래밍 > C#' 카테고리의 다른 글

    [06강] 파일 입출력  (0) 2022.05.02
    [05강] 배열  (0) 2022.04.24
    [03강] 데이터형, 변환, 표준 입력형식  (0) 2022.04.12
    [02강] C#프로그래밍 기본 구조  (0) 2022.03.24
    [01강] 닷넷프레임워크와 C#언어  (0) 2022.03.24
Designed by Tistory.