2015-02-06 3 views
-3

C#의 단항 연산자의 차이점은 무엇입니까? . 예를 들어 주시겠습니까?단항 연산자의 차이점 (+ =, = +, ++ x, x ++)

각각의 이름을 제공하십시오. :)

+ = 대 = +

++ X 대 X ++

+1

어떤 언어로 제공됩니까? –

+2

@remyabel : 저는이 연산자가 언어에 상관없이 똑같이 작동 할 것이라고 확신합니다. – nxasdf

답변

4

이것은 의심의 여지가 전에 대답하지만, 어쨌든되었습니다 ...

그들이 값을 변경하는 방법에 차이가 및 그들이 결과를 어떻게 반환하는지.

처음 두 개의 +==+은 첫 번째 변수가 증가하고 다른 하나가 변수를 설정하는 방식으로 작동합니다. 그들은 관련이 없습니다. 다음 코드를 살펴 :

// += 
x = 1; 
printf(x += 1); // outputs 2, the same as x = x+1 
printf(x);  // outputs 2 

// =+ 
x = 1; 
printf(x =+ 1); // outputs 1, the same as x = 1; 
printf(x);  // outputs 1 

다음 두, ++xx++는 순서대로 자신의 기능을 다릅니다. ++x은 변수를 1 씩 증가시키고 결과를 반환합니다. x++ 그들은 for 루프와 while 루프에 주로 유용 1.

// ++x 
x = 1; 
printf(++x); // outputs 2, the same as x = x+1 
printf(x); // outputs 2 

// x++ 
x = 1; 
printf(x++); // outputs 1 
printf(x); // outputs 2 

에 의해 결과 값과 증가를 반환합니다. 속도면에서

++x는 임시 변수, 기본적으로 더 많은 작업이 사용을, 값을 저장하기 위해 내부 임시 변수를 만드는 주요 변수를 증가하지만, 돌아 x++x++ 이후의 요구보다 훨씬 빠른 것으로 간주됩니다. 나는 이것을 오래 전에 배웠다. 아직 적용되는지 모르겠다.

0

을 + = 및 = +로 시각화하자. "+"행동이기 때문에

"="그래서, + = 대입하기 전에 추가하는 것입니다

과제입니다

= + 다른 방법입니다 : AFTER

를 할당 추가하기 마찬가지로

,

는 X ++

"을 증분하고 Return"인210

x ++은 "반환 후 증가"