Search
Duplicate

뇌를 자극하는 C# 4.0 프로그래밍/ 데이터를 가공하는 연산자

C#에서 제공하는 연산자 둘러보기

Search
분류
연산자
증가/ 감소 연산자
Open
++, —
관계 연산자
Open
<, >, ==, !=, <=, >=
조건 연산자
Open
?:
논리 연산자
Open
&&,
비트 연산자
Open
<<, >>, &, ^, ~
할당 연산자
Open
=, +=, -=, *=, /=, %=,

산술 연산자

Search
연산자
설명
지원 형식
양쪽 피연산자를 더합니다
모든 수치 데이터 형식을 지원합니다.
Open
왼쪽 피연산자에서 오른쪽 피연산자를 차감합니다
모든 수치 데이터 형식을 지원합니다.
양쪽 피연산자를 곱합니다
모든 수치 데이터 형식을 지원합니다.
왼쪽 연산자를 오른쪽 피연산자로 나눈 몫을 구합니다
모든 수치 데이터 형식을 지원합니다.
왼쪽 연산자를 오른쪽 피연산자로 나눈 후의 나머지를 구합니다
모든 수치 데이터 형식을 지원합니다.

증가 연산자와 감소 연산자

Search
연산자
이름
설명
지원 형식
증가 연산자
피연산자의 값을 1 증가시킵니다
모든 수치 데이터 형식을 지원합니다.
Open
감소 연산자
피연산자의 값을 1 감소시킵니다
모든 수치 데이터 형식을 지원합니다.

문자열 결합 연산자

// 아래와 같이 하면 result에는 123456이 저장된다. string result = "123" + "456";
C#

관계 연산자

Search
연산자
설명
지원 형식
왼쪽 피연산자가 오른쪽 피연산자보다 작으면 참, 아니면 거짓
모든 수치 데이터 형식을 지원합니다.
왼쪽 피연산자가 오른쪽 피연산자보다 크면 참, 아니면 거짓
모든 수치 데이터 형식을 지원합니다.
왼쪽 피연산자가 오른쪽 피연산자보다 작거나 같으면 참, 아니면 거짓
모든 수치 데이터 형식을 지원합니다.
왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같으면 참, 아니면 거짓
모든 수치 데이터 형식을 지원합니다.
왼쪽 피연산자가 오른쪽 피연산자와 같으면 참, 아니면 거짓
모든 수치 데이터 형식을 지원합니다.
왼쪽 피연산자가 오른쪽 피연산자와 다르면 참, 아니면 거짓
모든 수치 데이터 형식을 지원합니다.

논리 연산자

Search
A
B
A && B
Open
Open
거짓
거짓
거짓
Open
거짓
거짓
Open
거짓
거짓
Search
A
B
A || B
Open
Open
거짓
거짓
Open
거짓
Open
거짓
거짓
Search
A
!A
Open
거짓
거짓
Open

조건 연산자

// 조건식 ? 조건식이 참일 때의 값 : 조건식이 거짓일 때의 값 // 아래와 같이 하면 result에는 "삼십"이 저장된다. int a = 30; string result = a == 30 ? "삼십" : "삼십아님"; // 추가 - 본문엔 없는 연산자. ?? // null 타입에 한정하여 ?과 같은 조건 연산자가 ?? 이다 // 아래 코드에서 result가 null이 아니면 왼쪽의 "널 아님" 이 대입되고, result가 null이면 오른쪽의 "널"이 대입된다. string result = "널 아님" ?? "널";
C#

비트 연산자

Search
연산자
이름
설명
지원 형식
왼쪽 시프트 연산자
첫 번째 피연산자의 비트를 두 번째 피연산자의 수만큼 왼쪽으로 이동 시킵니다.
첫 번째 피연산자는 int, uint, long, ulong 이며 두 번째 피연산자는 int 형식만 지원됩니다.
오른쪽 시프트 연산자
첫 번째 피연산자의 비트를 두 번째 피연산자의 수만큼 오른쪽으로 이동 시킵니다.
첫 번째 피연산자는 int, uint, long, ulong 이며 두 번째 피연산자는 int 형식만 지원됩니다.
논리곱(AND) 연산자
두 피연산자의 비트 논리곱을 수행합니다.
정수 계열 형식과 bool 형식에 대해 사용할 수 있습니다.
논리합(OR) 연산자
두 피연산자의 비트 논리합을 수행합니다.
정수 계열 형식과 bool 형식에 대해 사용할 수 있습니다.
배타적 논리합(XOR) 연산자
두 피연산자의 비트 배타적 논리합을 수행합니다.
정수 계열 형식과 bool 형식에 대해 사용할 수 있습니다.
보수(NOT) 연산자
피연산자의 비트를 0은 1로, 1은 0으로 반전시킵니다. 단항 연산자입니다.
int, uint, long, ulong에 대해 사용이 가능합니다.

시프트 연산자

비트를 왼쪽이나 오른쪽으로 이동시키는 것.
비트를 왼쪽으로 이동 시키는 경우
비트를 오른쪽으로 이동 시키는 경우
음수의 시프트 연산
음수는 비트를 이동시킨 후 생긴 빈자리에 0이 아닌 1을 채워 넣는다는 점에서 차이가 있다.
시프트 연산 사용 방법
시프트 연산의 원본 데이터를 a, 옮긴 비트 수를 b라고 할 때, 왼쪽 시프트 연산을 하면 a x 2의 결과가, 오른쪽 시프트 연산을 하면 a ÷ 2의 결과가 나온다.
b
b
이 점을 이용해서 시프트 연산은 고속의 곱셈과 나눗셈을 구현하는데 사용되기도 하고 & 연산자와 | 연산자와 함께 byte처럼 작은 단위로 쪼개진 데이터를 다시 하나의 int나 long 형식으로 재조립하는데 사용되기도 한다.

비트 논리 연산자

논리곱(&) 연산
논리합(|) 연산
배타적 논리합(^) 연산
보수(NOT) 연산자

할당 연산자

Search
연산자
이름
설명
할당 연산자
오른쪽 피연산자를 왼쪽 피연산자에게 할당합니다.
덧셈 할당 연산자
a += b; 는 a = a + b;와 같습니다.
뺄셈 할당 연산자
a -= b; 는 a = a – b;와 같습니다.
곱셈 할당 연산자
a *= b; 는 a = a * b;와 같습니다.
나눗셈 할당 연산자
a /= b; 는 a = a / b;와 같습니다.
나머지 할당 연산자
a %= b; 는 a = a % b;와 같습니다.
논리곱 할당 연산자
a &= b; 는 a = a & b;와 같습니다.
논리합 할당 연산자
a |= b; 는 a = a | b;와 같습니다.
배타적 논리합 할당 연산자
a ^= b; 는 a = a ^ b;와 같습니다.
<<=
Open
왼쪽 시프트 할당 연산자
a <<= b; 는 a = a << b;와 같습니다.
>>=
Open
오른쪽 시프트 할당 연산자
a >>= b; 는 a = a >> b;와 같습니다.

연산자의 우선순위

Search
우선 순위
종류
연산자
1
증가/ 감소 연산자
Open
후위 ++, — 연산자
2
증가/ 감소 연산자
Open
전위 ++, — 연산자
3
산술 연산자
Open
*, /, %
4
산술 연산자
Open
+, –
5
시프트 연산자
Open
<<, >>
6
관계 연산자
Open
<, >, <=, >=, is, as
7
관계 연산자
Open
==. !=
8
비트 논리 연산자
Open
&
9
비트 논리 연산자
Open
^
10
비트 논리 연산자
Open
|
11
논리 연산자
Open
&&
12
논리 연산자
Open
||
13
조건 연산자
Open
?:
14
할당 연산자
Open
=, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |=