gpt4 book ai didi

c# - C#速记法这有什么问题?

转载 作者:太空宇宙 更新时间:2023-11-03 18:04:55 24 4
gpt4 key购买 nike

给出这个问题shorthand If Statements: C#

这有什么问题?

    int userID;
Int32.TryParse(request.userID, out userID);

userID > 0 ? user = DuoUser.LoadUser(userID): ;


它给出了错误:

only assignment call increment decrement and new object expressions can be used as a statement


据我所知,它应该工作,但是有什么问题吗?

编辑:

我也尝试过:

    int userID = 0;

userID > 0 ? user = DuoUser.LoadUser(userID): null;


但是它仍然给出相同的错误。

最佳答案

将最后一行更改为:

user = userID > 0 ? DuoUser.LoadUser(userID) : null ;


错误消息是正确的。您必须将三元运算符的结果分配给某些对象。

更新

您对问题的编辑仍然存在相同的问题。您没有将三元表达式的结果分配给任何东西,而是试图在语句中分配。

三元运算符只是说

something = condition ? result if condition is true : otherwise this result if false.


您也可以这样做:

if (userID > 0)
user = DuoUser.LoadUser(userID);


在某些情况下,其中一些可能会更容易阅读。

关于c# - C#速记法这有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34944409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com