- 산술 연산자 (Arithmetic Operators):
+
(덧셈): 두 피연산자의 합을 반환합니다.
-
(뺄셈): 왼쪽 피연산자에서 오른쪽 피연산자를 뺀 값을 반환합니다.
*
(곱셈): 두 피연산자의 곱을 반환합니다.
/
(나눗셈): 왼쪽 피연산자를 오른쪽 피연산자로 나눈 값을 반환합니다.
%
(나머지): 왼쪽 피연산자를 오른쪽 피연산자로 나눈 나머지를 반환합니다.
int a = 10;
int b = 3;
int sum = a + b; // 13
int difference = a - b; // 7
int product = a * b; // 30
int quotient = a / b; // 3
int remainder = a % b; // 1
- 관계 연산자 (Relational Operators):
==
(같음): 두 피연산자가 서로 같으면 true
를 반환합니다.
!=
(같지 않음): 두 피연산자가 서로 다르면 true
를 반환합니다.
>
(크다): 왼쪽 피연산자가 오른쪽 피연산자보다 크면 true
를 반환합니다.
<
(작다): 왼쪽 피연산자가 오른쪽 피연산자보다 작으면 true
를 반환합니다.
>=
(크거나 같다): 왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같으면 true
를 반환합니다.
<=
(작거나 같다): 왼쪽 피연산자가 오른쪽 피연산자보다 작거나 같으면 true
를 반환합니다.
int x = 5;
int y = 10;
bool isEqual = (x == y); // false
bool isNotEqual = (x != y); // true
bool isGreater = (x > y); // false
bool isLess = (x < y); // true
bool isGreaterOrEqual = (x >= y); // false
bool isLessOrEqual = (x <= y); // true
- 논리 연산자 (Logical Operators):
&&
(논리 AND): 두 조건이 모두 true
이면 true
를 반환합니다.
||
(논리 OR): 두 조건 중 하나 이상이 true
이면 true
를 반환합니다.
!
(논리 NOT): 주어진 조건의 반대를 반환합니다.
bool condition1 = true;
bool condition2 = false;
bool resultAnd = condition1 && condition2; // false
bool resultOr = condition1 || condition2; // true
bool resultNot = !condition1; // false
- 대입 연산자 (Assignment Operators):
=
(대입): 변수에 값을 할당합니다.
+=
, =
, =
, /=
, %=
등 (복합 대입): 현재 변수의 값을 다른 값과 조합하여 업데이트합니다.
int num = 10;
num += 5; // num은 이제 15
num *= 2; // num은 이제 30
- 증가/감소 연산자 (Increment/Decrement Operators):
++
(증가): 변수의 값을 1 증가시킵니다.
-
(감소): 변수의 값을 1 감소시킵니다.
int count = 5;
count++; // count는 이제 6
count--; // count는 이제 5
- 비트 연산자 (Bitwise Operators):
&
(AND): 비트별 AND 연산을 수행합니다.
|
(OR): 비트별 OR 연산을 수행합니다.
^
(XOR): 비트별 XOR(배타적 OR) 연산을 수행합니다.
~
(NOT): 비트별 NOT 연산을 수행합니다.
<<
(왼쪽 시프트): 비트를 왼쪽으로 이동시킵니다.
>>
(오른쪽 시프트): 비트를 오른쪽으로 이동시킵니다.
csharpCopy code
int binaryA = 0b1010; // 10진수로 10
int binaryB = 0b1100; // 10진수로 12
int resultAnd = binaryA & binaryB; // 8
int resultOr = binaryA | binaryB; // 14
int resultXor = binaryA ^ binaryB; // 6
int resultNotA = ~binaryA; // -11 (2의 보수)
int leftShift = binaryA << 1; // 20
int rightShift = binaryB >> 1; // 6
- 조건 연산자 :
int num = 10;
string result = (num > 0) ? "양수입니다." : "음수 또는 0입니다.";
Console.WriteLine(result);
- 병합연산자(Null Coalescing Operator) :
- 주로 null 일 경우 기본값을 설정하는 용도로 사용된다.
string name = null;
string result = name ?? "기본값";
Console.WriteLine(result); // 출력: "기본값"
**??
** 연산자는 null 조건부 연산자 ?.
과 함께 사용될때 특히 유용하다.
person?.Name
은 person
이 null이 아닌 경우에만 Name
속성에 접근하고, null이면 null
을 반환합니다. 그 후에 ??
연산자를 사용하여 기본값인 "기본이름"을 할당합니다.
Person person = GetPerson(); // GetPerson() 메서드가 Person 객체를 반환하거나 null일 수 있음
string name = person?.Name ?? "기본이름";
Console.WriteLine(name);