微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET MVC/C++#:我可以避免在单行C#条件语句中重复自己吗?

在视图中的表中显示Customer的邮件地址时,请考虑以下代码

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

我发现自己使用了相当数量的这些三元条件语句,我想知道是否有一种方法可以在条件中引用回被评估的对象,以便我可以在表达式中使用它.也许是这样的事情:

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

这样的事情存在吗?我知道我可以创建一个变量来保存值,但是将所有内容保存在视图页面中的一个紧凑的小语句中会很好.

谢谢!

解决方法

不,没有办法在不创建变量或复制自己的情况下准确地执行您的要求,尽管您可以执行以下操作:

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

这假定认情况下新的MailingAddress将使其city属性/字段为null.

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

但这实际上并不短,而且在我看来更为苛刻,而且几乎肯定不那么高效.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐