2016-07-19 3 views
2

이 코드가 유효하지 않은 이유는 무엇입니까? 확신은 C/C++C# 삼항 연산자로 함수 호출

의사 코드에서 합법적이다 :

String s = Console.ReadLine(); 
int x = 0; 
Int32.TryParse(s, out x) ? Console.WriteLine("Foo") : Console.WriteLine("bar"); 
+1

이 아마도 당신이'대신 Console.writeline''의 Console.WriteLine'을 의미한다. – Codor

+0

의사 코드입니다. 모바일에서 입력하고 있습니다. 질문은 삼항 연산자에 관한 것입니다. 코드는 if-else – aCuria

+0

@Hank 미안합니다. 질문을 컴파일하는 것없이 답변을 얻을 수있을만큼 간단하다고 생각했습니다. 어떤 오류 메시지라도 게시하는 것을 기억하지 않습니다. – aCuria

답변

1

의 값에 따라 원 연산자 값을 반환하는 데 그된다 반환 값을 지정해야합니다. 당신이 삼항 연산자에 빈 메소드를 호출 할 경우

,이 같은 위임을 사용할 수 있습니다

String s = Console.ReadLine(); 
int x = 0; 
(Int32.TryParse(s, out x) ? new Action(() => Console.WriteLine("Foo")) :() => Console.WriteLine("bar"))(); 
0

으로는 C#으로, here 논의하지 모든 표현은 성명로 사용할 수 있습니다.

1

console.writeline 복귀 공극은 .. 조건 연산자 (? : 두 개의 값 중 하나 논리식

MSDN