나는 종종 책에서 삼항 연산자 (? :)를 읽지 만, 나는 그것의 모범 사례를 분명히 밝히지 않았다. 장점과 단점 또는 모범 사례는 무엇입니까?삼항 연산자를 언제 어디에서 사용할 수 있습니까?
답변
이항 연산자 ? :
은 실제로 값을 반환한다는 것을 제외하면 if-then-else
구조를 나타냅니다. 그래서 대신 :
if (condition)
x = expression1;
else
x = expression2;
당신은 쓸 수 있습니다 :
등 C, C++, 자바,에서x = (condition) ? (expression1) : (expression2);
, 당신은 쓸 수 없습니다 :
x = if (condition) (expression1) else (expression2);
일부 언어, 루비처럼 수행 그러나 Ruby의 문은 항상 값을 반환하고 블록의 값은 블록의 마지막 문이 반환 한 값이기 때문에 이와 같은 형식을 허용합니다.
":?"라고 말할 때 염두에 두어야 할 상황을 제공 하시겠습니까? 'if-then-else'를 나타냅니다. (당신이 설명하기 위해 계속됩니다.) 이것은 C에서하는 것과는 다릅니다.이 구문이 C로 시작한다는 것을 알고 있습니다. –
그는 실제로 그 값과는 달리 값을 반환한다고 말합니다. '만약 그 밖의 사촌. –
@RobertHarvey : 이것은 잘못된 것이며 매우 잘못된 일반화입니다. 그는 "* * * in ... C ... * 실제로 * 값을 반환합니다"라고 말합니다. 네가 그걸 이해하지 못했다고 나는 믿지 않는다. –
귀하는 변수가 상기 비교 결과에 기초하여 할당되는 간단한 IF-다른 비교에 대한 속기
int nNum1 = 10, nNum2 = 20, nMax = (nNum1 > nNum2) ? nNum1 : nNum2
으로 오퍼레이터를 사용할 수있다.
- 1. 정확히 언제 기대 연산자를 사용할 수 있습니까?
- 2. LINQ 쿼리에서 삼항 연산자를 사용할 수 없습니다.
- 3. 루비 - 프로 시저에서 삼항 연산자를 사용할 수 있습니까?
- 4. void를 반환하는 두 함수가있는 삼항 연산자를 사용할 수 있습니까?
- 5. 조건부 삼항 연산자를 문자열 연결에 사용할 수 있습니까?
- 6. Php 삼항 연산자를
- 7. 오브젝트 데이터 내에 삼항 연산자를 사용할 수 없습니다.
- 8. Elixir에서 삼항 연산자를 시뮬레이트하십시오.
- 9. 삼항 연산자를 읽기 어려워
- 10. 왜 루비의 케이스에서 삼항 연산자를 사용할 수 없습니까?
- 11. 언제 사용할 수 있습니까?
- 12. Guice와의 의존성 주입을 언제 어디에서 사용할 수 있습니까?
- 13. DLR에 삼항 연산자를 구현하는 방법
- 14. 삼항 연산자를 구문으로 분해 하시겠습니까?
- 15. 삼항 연산자를 사용하여이 코드를 어떻게 단축 할 수 있습니까?
- 16. PHP에서이 문장에 대한 삼항 연산자를 만들 수 있습니까?
- 17. 여러 삼항 연산자를 테스트하는 명령문
- 18. 삼항 연산자를 사용하여 변수 설정
- 19. 면도기보기에서 삼항 연산자를 사용하는 방법?
- 20. 삼항 연산자를 사용하는 PHP 버그?
- 21. 언제 BroadcastReceiver를 사용할 수 있습니까?
- 22. 언제 uncaught_exception을 사용할 수 있습니까?
- 23. 언제 CanFreeze를 사용할 수 있습니까?
- 24. 언제 메서드를 사용할 수 있습니까?
- 25. DataView는 언제 사용할 수 있습니까?
- 26. 조건부 삼원 연산자를 단독으로 사용할 수 있습니까? (자바 스크립트)
- 27. 어디에서 '업데이트시'를 사용할 수 있습니까?
- 28. Android : 언제 layout_margin을 사용할 지, 언제 weightSum을 사용할 수 있습니까?
- 29. 삼항 연산자를 사용하여 값을 증가시키는 방법
- 30. 어디에서 조건 (MySQL)의 삼항?
'if (condition) someValue else someOtherValue'의 줄임말입니다. 그게 다야. –
'if ... else ...'하는 것보다 두 값 (참값 하나는 거짓 값)을 사용할 때 사용하십시오. 그것은 더 조밀하다. 또한 일부 언어에서는 실제로 연산자이며 'if ... else ...'에 대한 진정한 속기는 아닙니다 – Justin
http://programmers.stackexchange.com/questions/28314/ternary-operator-considered-harmful – sumit