간단한 콘솔 응용 프로그램에서 POST 증가 연산자를 테스트하는 동안 완전한 개념을 이해하지 못한다는 사실을 깨달았습니다. 나에게 이상하게 보입니다.C# 게시 증분
int i = 0;
bool b = i++ == i;
Console.WriteLine(b);
출력이 false입니다. 나는 그것이 사실 일 것이라고 예상했다. AFAIK, 2 라인에서, 포스트 증가 때문에, 컴파일러는 비교를 수행하고 하나를 증가시킨 후 b를 true로 지정합니다. 그러나 분명히 나는 틀렸다. 는 그 후 나는 코드처럼 수정 :
int i = 0;
bool b = i == i++;
Console.WriteLine(b);
이 시간 출력은 사실이었다. 첫 번째 샘플에서 무엇이 변경 되었습니까?
'bool b = i == i ++; 즉 0 == 0이 참이고 증가가 발생합니다. 먼저 값을 비교하고 나서 i를 증가시킵니다. 그러나 처음에는 'bool b = i ++ == i;'와 같은 다른 방법으로 발생합니다. 즉 0 == 1 먼저 0을 읽은 다음 i를 증가시킨 다음 그 값과 비교합니다 시간 i는 1로 증가하기 때문에 그가 거짓으로 표시됩니다. – Aamerallous
맞습니다. 코드의 두 번째 스 니펫은 첫 번째 부분 뒤에있는 개념을 이해하면 이해할 수 있습니다. 대부분의 프로그래밍 언어에서와 동일합니다. 기본적인 기본 개념입니다. – Inconnu