2011-05-21 43 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