Google에서 필요한 것을 찾지 못하고 빠른 대답을 얻을 수 있습니다.C# 조건부 연산자를 사용하여 컴파일러 오류가 발생했습니다.
String str;
bool b = true;
b ? str="true" : str="false";
Console.Out.WriteLine(str);
? : 문법이 나에게 맞는 것 같습니다. 그래도 컴파일러 오류가 발생합니다.
Program.cs (13,28)
오류 CS1002 :; 예상
Program.cs (13,28) :
오류 CS1525 : 잘못된 표현 용어 ':'
Program.cs (13,30) :
오류 CS1002 :; 예상 됨
csharp 구문에 대해 확실하지 않지만 cpp에서 빌드됩니다. 도와주세요! 감사!
업데이트 : 약 10 명 중 정답을 LOL로 입력 했으므로 제출 한 사람에게만 상을 수여합니다.
흥미로운 구문, 나는 실제로 C++ 구문보다 더 좋다고 생각합니다.
I가 이렇게 된 실제 코드는 다음과 같습니다
ftp.ConnectMode = job.FTPUsePassiveMode ? FTPConnectMode.PASV : FTPConnectMode.ACTIVE;
다른 사람들은 이미 적절한 해결책을 제시했습니다. 우선 순위가 문제가 될 가능성이 있습니다. 'b? (str = "true") : (str = "false");'작동한다고해도 그렇게 사용하지 않을 것입니다. – Matthew
@cchampion : "흥미로운 구문입니다. 실제로는 C++ 구문보다 더 좋게 생각합니다." - C++ 구문은 동일합니다. str = b이어야합니다? "true": 두 언어 모두에서 "false". – Josh