这行代码重大的代码是什么意思?

时间:2014-10-02 03:19:37

标签: c# string syntax ternary-operator

我正在开发一个项目,在其中我发现了一长串代码

logonuser = logonuser.IndexOf(domain) >= 0 ? logonuser : domain + "\\" + logonuser;

logonuser和domain都是字符串。 我需要解释它是什么以及它是如何工作的?

2 个答案:

答案 0 :(得分:3)

这是ternary运算符

就像说:

if(logonuser.IndexOf(domain) >= 0)
{
     logonuser = logonuser;
}
else
{
     logonuser = domain + "\\" + logonuser;
}

答案 1 :(得分:0)

正如其他人已经说过的那样,这就是三元运营商。除了使用此运算符的事实之外,代码的解释是:

  • 如果longuser是包含域名的“绝对”(*)网址,请在不更改的情况下使用它。

  • else(longuser是相对网址)使用域构建绝对网址

(*)没有协议不是绝对的