2011-05-21 44 views
5

如果full_name的字符串長度大於5,我有一個名爲full_name的變量我想將nm設置爲full_name的前4個字符,否則我想將nm設置爲full_name的所有字符。與?運算符在C#

var nm; 

if (full_name.Length > 5) 
{ 
    nm = full_name.Substring(0, 4); 
} 
else 
{ 
    nm = full_name; 
}; 

我完全和「?」混淆了,運營商。

我可以使用它嗎?

+3

順便說一句,通過名稱是「有條件的經營者」 – 2011-05-21 13:26:12

+0

甚至有時被稱爲「三元操作符」(有點不正確地) http://en.wikipedia.org/wiki/Ternary_operation – yas4891 2011-05-21 13:28:22

+0

@ yas4891是的,這通常被誤稱爲:)就像調用'+'「二元運算符」 - 它只會告訴你簽名,而不是意圖。現在......我們只需要幾個三元運營商作爲例子...... – 2011-05-21 13:31:14

回答

14
var nm = full_name.Length > 5 ? full_name.Substring(0, 4) : full_name; 
+0

JudyJ:馬克已經解決了這個問題,不需要進一步解釋(字面上!),但是您可以純粹從學術角度閱讀MSDN上的這篇文章。 http://msdn.microsoft.com/en-us/library/ty67wk28(v=VS.100).aspx – Kanini 2011-05-21 13:28:53