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 |