연산자

  • 산술 연산자
    • +, -, *, /, %
  • 할당 연산자
    • =, +=, -=, *=, /=, %=
  • 증감 연산자
    • ++
    • --
  • 논리 연산자
    • && (AND)
    • || (OR)
    • ! (NOT)
  • 관계/비교 연산자
    • <, >, ==, !=, >=, <=
  • 비트 연산자
    • & (AND)
    • | (OR)
    • ^ (XOR)
      • 둘 중에서 하나만 1인 경우 1이 됨.
  • Shift 연산자
    • >>
      • 비트 연산, 2로 나눔
    • <<
      • 비트 연산, 2배
  • 조건 연산자
    • ?
      • (a > b) ? a : b
      • 3항 연산자
    • ??
      • a ?? b
      • C# 3.0 이상만 지원
      • 왼쪽값이 null이면 오른쪽값, 아니면 왼쪽값

?? 연산자

  • Null-coalescing operator
  • C# 3.0 이상만 지원
  • 왼쪽 값이 null 인 경우 오른쪽값을 리턴. 아니면 왼쪽값을 리턴.
  • 왼쪽값은 null이 허용되는 데이터 타입만 사용가능하다.
    • int 타입은 null을 가질 수 없지만, Nullable<int>, int? 타입은 사용 가능하다.
using System;

namespace MyNamespace
{
    class MyApp
    {
        static void Main(string[] args)
        {
            int? i = null;
            Console.WriteLine(i ?? 0); // 0
            
            string s = "FooBar";
            Console.WriteLine(s ?? "DefaultString"); // FooBar
        }
    }
}

참고자료