gpt4 book ai didi

c# - ASP.NET MVC/C# : Can I avoid repeating myself in a one-line C# conditional statement?

转载 作者:太空狗 更新时间:2023-10-29 22:55:24 25 4
gpt4 key购买 nike

考虑我在 View 中的表格内显示客户邮寄地址时使用的以下代码:

<%: Customer.MailingAddress == null ? "" : Customer.MailingAddress.City %>

我发现自己使用了相当多的这些三元条件语句,我想知道是否有一种方法可以返回到在条件中评估的对象,以便我可以在表达式中使用它。可能是这样的:

<%: Customer.MailingAddress == null ? "" : {0}.City %>

这样的东西存在吗?我知道我可以创建一个变量来保存该值,但最好将所有内容都保存在 View 页面中的一个紧凑的小语句中。

谢谢!

最佳答案

不,没有一种方法可以在不创建变量或复制自己的情况下精确地完成您的要求,尽管您可以这样做:

(Customer.MailingAddress ?? new MailingAddress()).City ?? string.Empty

这假定一个新的 MailingAddress 的城市属性/字段默认为 null。

如果创建新的 MailingAddress 将 city 字段/属性初始化为空字符串,则可以删除最后一个空合并。

但这实际上并没有更短,而是更 hackish(在我看来),而且几乎可以肯定性能更差。

关于c# - ASP.NET MVC/C# : Can I avoid repeating myself in a one-line C# conditional statement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4046749/

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