반응형

1. 산술 연산자

단항
++ (1씩 증가)
-- (1씩 감소)
+ (양수)
- (음수)

이진 연산자
+(더하기)
-(빼기)
* (곱하기)
/ (나누기)
% (나머지)


2. 부울 논리 연산자

단항
!(논리 부정) - 피연산자의 값이 false일 때 true, 값이 true일 때 false.

이진
&(논리 AND)
|(논리 OR)
^(논리 배타적 OR(XOR))
&&(조건부 논리 AND)
||(조건부 논리 OR)

예제
bool bCheck = false;
Console.WriteLine(!bCheck);
output:True

bool bCheck1 = false;
bool bCheck2 = true;

Console.WriteLine(bCheck1 & bCheck2);
Console.WriteLine(bCheck1 | bCheck2);
Console.WriteLine(bCheck1 ^ bCheck2);
Console.WriteLine(bCheck1 && bCheck2);
Console.WriteLine(bCheck1 || bCheck2);

output:
False
True
True
False
True


3. 비트 및 시프트 연산자

단항
~(비트보수) - 비트를 반대로 하여 피연산자의 비트 보수를 생성

이진
<<(왼쪽 시프트)
>>(오른쪽 시프트)
&(논리 AND)
|(논리 OR)
^(논리 배타적OR(XOR))

예제
uint num1 = 0x2A; // 101010
uint num2 = ~num1;
Console.WriteLine(Convert.ToString(num2, toBase: 2));
output:11111111111111111111111111010101

uint num1 = 0x2A; // 101010
uint num2 = num1 << 2;
Console.WriteLine(Convert.ToString(num2, toBase: 2));
output:10101000

uint num1 = 0x2A; // 101010
uint num2 = num1 >> 2;
Console.WriteLine(Convert.ToString(num2, toBase: 2));
output:1010

uint num1 = 0x2A; // 101010
uint num2 = num1 & 0x1B; // 101010 and 011011
Console.WriteLine(Convert.ToString(num2, toBase: 2));
output:1010

uint num1 = 0x2A; // 101010
uint num2 = num1 | 0x1B; // 101010 or 011011
Console.WriteLine(Convert.ToString(num2, toBase: 2));
output:111011

uint num1 = 0x2A; // 101010
uint num2 = num1 ^ 0x1B; // 101010 xor 011011
Console.WriteLine(Convert.ToString(num2, toBase: 2));
output:110001

4. 같음 연산자
==(같음)
!=(같지 않음)

예제
int num1 = 1;
int num2 = 2;
Console.WriteLine(num1==num2);
output:False

int num1 = 1;
int num2 = 2;
Console.WriteLine(num1!=num2);
output:True

5. 비교 연산자(관계형 연산자)
<(보다 작음)
>(보다 큼)
<=(작거나 같음)
>=(크거나 같음)

예제
int num1 = 1;
int num2 = 2;
Console.WriteLine(num1>num2);
output:False

6. ?: 연산자
구문의 다음과 같습니다
조건 ? A : B
조건이 true이면 A가 false이며 B가 결과값이 됩니다.

예제
int num1 = 1;
int num2 = (num1 == 1) ? 1 : 2;
Console.WriteLine(num2);
output : 1

7. ?? 및 ??= 연산자
??는 null이 아닌 경우 왼쪽 피연산자를 반환하고 그렇지 않다면, 오른쪽 연산자를 평가합니다.
??=는 왼쪽 피연산자가 null일 경우만 오른쪽 피연산자의 값을 왼쪽 피연산자에 대입합니다. 

예제

int? num1 = null;
int num2 = num1 ?? -1;
Console.WriteLine(num2);  
output: -1


List numbers = null;
(numbers ??= new List()).Add(5);
Console.WriteLine(string.Join(" ", numbers));  
output: 5

반응형

'개발공부 > C#' 카테고리의 다른 글

[C#] yield  (0) 2019.10.14
[C#] 반복문  (0) 2019.10.13
[C#] 조건문  (0) 2019.10.12
[C#] 데이터 타입  (0) 2019.10.09
[C#] 직렬화(Serialization)  (2) 2019.07.16

+ Recent posts