我在项目中进行了一些快速类型转换,我对此不太熟悉。在类型转换中执行C#空值检查的简单方法
它们看起来与此类似:
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) – AnotherDeveloper
您可以直接从'IQueryable'创建新类型吗? (即投影)然后你不需要空检查。 –