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字段/属性初始化为空字符串,则可以删除最后一个空合并.

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

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....