有人可以請告訴我什麼?
運營商在線String broker = args.Length > 0 ? args[0] : "localhost:5672";
的意思。我碰到它的時候我是通過this C# Example關於'?'的信息運算符在C#
MSDN Documentation似乎只具有對運營商?.
,??
和?[
有人可以請告訴我什麼?
運營商在線String broker = args.Length > 0 ? args[0] : "localhost:5672";
的意思。我碰到它的時候我是通過this C# Example關於'?'的信息運算符在C#
MSDN Documentation似乎只具有對運營商?.
,??
和?[
這不是一個 」?」運算符,它是「?:」 - 所謂的三元運算符。這裏是一個小的解釋MSDN
?:操作符可以用作if ... else語句的快捷方式。它通常用作較大表達式的一部分,其中if ... else語句會很尷尬
The?運營商本身只不過是if的一個捷徑。讓我們以你爲例:
String broker = args.Length > 0 ? args[0] : "localhost:5672"
The?意味着如果。因此,所有的左邊是如果部分好嗎?是當時的一部分。而且:將其他部分與當時的部分分開。
所以把它放在一起,你也可以這樣寫:
String broker;
if (args.Length > 0)
{
broker = args[0];
}
else
{
broker = "localhost:5672";
}
如果你使用它,或者不主要是一個品味的問題和代碼是如何更好的可讀性(如果你需要做的短羣衆如果只有一個在下一個?之後可以比完整書寫的方法更好的可讀性)。
這是
String broker;
if (args.Length > 0)
{
broker = args[0];
}
else
{
broker = "localhost:5672"
}
ternary運營商是平等的,但短了很多寫。
`test ? expression1 : expression2`
回報expression1
如果test
是真或expression2
如果測試是假。
https://msdn.microsoft.com/en-us/library/ty67wk28.aspx –
?:是if else條件的快捷方式。 –
我可以直言不諱地爲大多數人在這裏看到一個相對「簡單」的問題,實際顯示研究工作並清楚你在問什麼......不確定這是否值得downvotes – Sayse