【发布时间】:2019-06-18 01:15:37
【问题描述】:
我正在一个我不太熟悉的项目中进行一些快速类型转换。
它们看起来像这样:
var NewType = new
{
NewTypeId = old.SubType == null ? 0 : old.SubType.SubTypeId ?? 0,
OtherType = old.OtherType ?? "",
Review = old.CustomerComments ?? "",
Country = old.Country == null ? "" : old.Country.Abbreviation ?? "",
Customer = old.SubType == null ? "" :
old.SubType.Customer == null ? "" :
old.SubType.Customer.Name ?? ""
};
我要转换的对象通常是实体框架对象。我也没有能力修改我将要转换的类。
有没有更简单的方法来检查空值,特别是在任何子对象都可能为空的情况下?
OldType.SubType.AnotherSubType.SomeProperty
【问题讨论】:
-
您使用的是什么版本的 .NET(即 C#)?
-
C# 5 (.Net 4.5)
-
你能直接从
IQueryable创建新类型吗? (即投影)那时你不需要空检查。 -
@rory.ap .NET 版本无关; C# 版本很重要。 .NET 版本和 C# 版本完全分开。
-
@GertArnold 嗯,我得考虑一下。我有一个已经创建的对象,我正在使用它进行转换,但我可能会做你建议的事情。
标签: c# entity-framework .net-4.5 c#-5.0