로딩
요청 처리 중입니다...

[C#] 승격

 [C#] 승격

일부 단항 연산자(+, -, ~ 등)와 이항 연산자(+, -, *, /)는 자동 승격을 일으킨다. 예를 들면, byte를 int라는 더 넓은 형식으로 상승시키는 것이다. sbyte x = 5; sbyte y = -x; // 에러 두 번째 줄은 sbyte가 -5를 받을 수 있지만 단항 연산자 "-"는 -x의 결과를 int로 승격시키기 때문에 에러를 일으킨다.

이 문제를 바로잡으려면, y를 int로 바꾸거나 다음처럼 명시적인 축소 변환을 수행해야 한다. sbyte x = 5; int y = -x; sbyte y2 = (sbyte)-x; 단항 연산자의 경우, 피연산자의 형식이 byte, sbyte, short, char이면 결과가 int로 승격된다. 이항 연산자의 경우, 승격 규칙은 다음과 같다. · 피연산자가 byte, sbyte, short, char 형식이라면, 그때 양쪽 피연산자는 int로 변환되고 결과는 int가 된다. · 피연산자가 long 형식이라면, 그때 다른 피연산자는 l...

# c샵 # 승격 # 씨샵 # 연산자승격

원문 링크 : [C#] 승격