扩展?:操作符
本文关键字:操作符 扩展 | 更新日期: 2023-09-27 18:06:31
Name = (src.Client.Account.Rank > 65 ? src.Client.Account.Rank > 2 ? "$" : "@" : "") + src.Name,
这是我当前的编码。如果rank大于65,则显示"$"
,如果大于2但不大于65,则显示"@"
,如果两者都不是,则显示""
。
这是一个在线游戏,这是客户端c#。我还是个新手,所以我不太确定你需要什么来解决这个问题。
正如你所看到的,我试图把?:
操作符变成一个' ?? ?::或其他东西,我尝试使用,
,因为我看到有人发布,但我猜它不适合c#。
可能这个会像你想的那样工作
Name = ((src.Client.Account.Rank > 65) ? "$" : ((src.Client.Account.Rank > 2) ? "@" : "")) + src.Name,
这样做:
Name = (src.Client.Account.Rank > 65
? "$" :
(src.Client.Account.Rank > 2 ? "@" : "")) + src.Name;
如果涉及嵌套逻辑,则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);