새로운 개념으로 놀고있는 동안 Ternary Operator
을 발견했습니다. 잠시 그걸 가지고 노는 후, 나는 그 한계를 시험하기로 결정했다.3 진 연산자를 사용하는 메서드 호출
그러나 컴파일 할 때 특정 코드 행을 얻을 수 없을 때 빠르게 재밌어졌습니다.
Error 1 Only assignment, call, increment, decrement, and new object expressions can be used as a statement
Error 2 Type of conditional expression cannot be determined because there is no implicit conversion between 'void' and 'void'
내가 호출 할 방법을 결정하기 위해 Ternary Operator
을 사용한 적이 없으며, 그것도 가능하면 알 수 있습니까 :
int a = 5;
int b = 10;
a == b ? doThis() : doThat()
private void doThis()
{
MessageBox.Show("Did this");
}
private void doThat()
{
MessageBox.Show("Did that");
}
이 줄은 나에게 두 가지 오류를 제공합니다. 메서드 호출을위한 한 줄의 아이디어 인 If Else Statement
을 좋아합니다.
나는 약간의 연구를했으며이 일을하는 사람의 예를 찾을 수 없으므로 제공 할 수없는 것을 기대할 수도 있습니다.
가능하다면 저의 잘못을 저에게 밝혀주십시오. 가능하지 않습니다. 다른 방법이 있습니까?
doThis 및 doThat 함수가 int 유형의 값을 반환하는지 확인하십시오. – Chandu
죄송합니다. 빠른 방법을 게시 해 드리겠습니다. –
만약 한 줄로 된'If Else'를 정말로 원한다면, 그것을 한 줄로 작성하십시오 :'if (condition) doThis(); else doThat();'3 단계 연산자 (생각했던대로 작동하는 경우)는 짧아 지지만, 간결함은 항상 좋은 것은 아닙니다. –