Name = (src.Client.Account.Rank > 65 ? src.Client.Account.Rank > 2 ? "$" : "@" : "") + src.Name,
这是我目前的编码。我试图得到它,如果排名超过65显示"$"
,如果它超过2但不超过65,则显示"@"
,如果它不是,则显示{{1 }}
这是针对在线游戏,这是C#的客户端。我还是个菜鸟,所以我不确定你需要解决的问题。
正如你所看到的那样,我试图将""
运算符转换为``?? ::或者其他东西,我尝试使用?:
,因为我看到有人发布了这个,但我猜它没有不适用于C#。
答案 0 :(得分:1)
可能这个会按你的意愿运作
Name = ((src.Client.Account.Rank > 65) ? "$" : ((src.Client.Account.Rank > 2) ? "@" : "")) + src.Name,
答案 1 :(得分:1)
这样做:
Name = (src.Client.Account.Rank > 65
? "$" :
(src.Client.Account.Rank > 2 ? "@" : "")) + src.Name;
答案 2 :(得分:0)
如果涉及嵌套逻辑,if
语句可以说比三元运算符更具可读性:
string prefix = null;
if (src.Client.Account.Rank > 65)
prefix = "$";
else if (src.Client.Account.Rank > 2)
prefix = "@";
Name = string.Concat(prefix, src.Name);