在此.NET代码中:

return Redirect("~/Home" ?? "JaneDoe");


如果我阅读的文档正确,则“ ??”运算符的运行方式与SQL中的IsNull相似:

IsNull("~/Home", "JaneDoe")


"~Home""JaneDoe"只是字符串,对不对? return Redirect代码中没有条件,“ JaneDoe”将被传递给“重定向”,是吗?我不确定该片段的内容,只能假定它是占位符,以备将来使用。

此代码来自正在开发的.NET-MVC项目,它是.cs文件的一部分,该文件是LoginController。

最佳答案

是的,这只是错误的代码。那将永远等同于

return Redirect("~/Home");


老实说,我有点惊讶编译器不够聪明,无法给出警告。如果可以断定在空合并运算符的LHS上使用了一个恒定的非空表达式,那就太好了。

09-20 02:29