这行语法重的代码行意味着什么
本文关键字:意味着 什么 代码 语法 | 更新日期: 2023-09-27 18:25:14
我在一个项目中发现中有一行语法很重的代码
logonuser = logonuser.IndexOf(domain) >= 0 ? logonuser : domain + "''" + logonuser;
登录用户和域都是字符串。我需要解释它是什么以及它是如何工作的?
这是三元运算符
就像在说:
if(logonuser.IndexOf(domain) >= 0)
{
logonuser = logonuser;
}
else
{
logonuser = domain + "''" + logonuser;
}
正如其他人已经说过的,这是三元运算符。除了使用此运算符的事实之外,代码的解释是:
-
如果longuser是包含域的"绝对"(*)url,则使用它而不更改它。
-
else(longuser是一个相对url)使用域构建一个绝对url
(*)没有协议就不是绝对的