C#

데이터를 가공하는 연산자

Barbarian developer 2024. 10. 29.

C#에서 제공하는 연산자

 

산술 연산자

using System;

namespace arithmaticoperators
{
    class MainAp
    {
        static void Main(string[] args)
        {
            int a = 111 + 222;
            Console.WriteLine($"a : {a}");

            int b = a - 100;
            Console.WriteLine($"b : {b}");

            int c = b * 10;
            Console.WriteLine($"c : {c}");

            double d = c / 6.3;
            Console.WriteLine($"d : {d}");

            Console.WriteLine($"22/7 = {22 / 7}({22 % 7})");
        }
    }
}

 

<실행결과>

 

관계연산자

 

조건 연산자

조건 연산자 "?:"은특이하게도 피연산자가 세 개나됩니다. 이 피연산자들은 각각 다음 과같습니다.

using System;

namespace Conditionaloperator
{
    class Mainapp
    {
        static void Main(string[] args)
        {
            string result = (10 % 2) == 0 ? "짝수" : "홀수";

            Console.WriteLine(result);
        }
    }
}

 

<실행결과>

 

null 조건부 연산자

using System.Collections;
using static System.Console;

namespace NullConditionalOperator
{
    class MainApp
    {
        static void Main(string[] args)
        {
            ArrayList a = null; 
            a?.Add("야구"); // a가 null을 반환하므로 Add() 메서드는 호출되지 않음
            a?.Add("축구");

            WriteLine($"Count : {a?.Count}"); // a가 null을 반환하므로 'Count' 외에는 아무것도 출력되지 않습니다.
            WriteLine($"a[0] : {a?[0]}");
            WriteLine($"a[1] : {a?[1]}");

            a = new ArrayList(); // a는 이제 더 이상 null이 아닙니다.
            a?.Add("야구");
            a?.Add("축구");

            WriteLine($"Count : {a?.Count}");
            WriteLine($"a[0] : {a?[0]}");
            WriteLine($"a[1] : {a?[1]}");
        }
    }
}

 

<실행결과>

 

할당 연산자

 

 

null 병합 연산자

null 병합 연산자 ??는 null 조건부 연산자처 럼 프로그램에서 종종 필요한 변수/객체의 null 검사 를 간결하게 만들어주는 역할을 합니다. ?? 연산지는 두 개의 피연산자를 그대로 받아들이고 왼쪽 피연산 자가 null인지 평가합니다.

 


null 병합 연산자 `??`는 null 조건부 연산자처럼 프로그램에서 종종 필요한 변수/객체의 null 검사를 간결하게 만들어주는 역할을 합니다. `??` 연산자는 두 개의 피연산자를 받으며, 왼쪽 피연산자가 null인지 평가합니다. 평가 결과가 null이 아닌 것으로 나타나면 왼쪽 피연산자를 그대로 반환하고, 만약 왼쪽 피연산자가 null인 것으로 평가되면 오른쪽 피연산자를 반환합니다(우연일까요?).

C#에서는 null과 관련된 형식과 연산자에 `?` 기호가 들어갑니다. Nullable 형식을 선언할 때도 ?가 사용되고, null 조건부 연산자 ?.와 ??로 모두 시작합니다. 이번에 살펴볼 null 병합 연산자는 물음표 기호 두 개로 이루어진 ??입니다.

using System;

namespace NullCoalescing
{
    class MainApp
    {
        static void Main(string[] args)
        {
            int? num = null;
            Console.WriteLine($"{num ?? 0}"); // num이 null이므로 0을 출력

            num = 99;
            Console.WriteLine($"{num ?? 0}"); // num이 99이므로 99를 출력

            string str = null;
            Console.WriteLine($"{str ?? "Default"}"); // str이 null이므로 "Default"를 출력

            str = "Specific";
            Console.WriteLine($"{str ?? "Default"}"); // str이 "Specific"이므로 "Specific"를 출력
        }
    }
}

 

<실행결과>

 

연산자의 우선순위

'C#' 카테고리의 다른 글

클래스  (0) 2024.10.30
메소드로 코드 간추리기  (0) 2024.10.30
코드의 흐름 제어하기  (1) 2024.10.30
#데이터 보관하기  (0) 2024.10.29
C# 프로그램 만들기  (0) 2024.10.29

댓글