我有一个对象列表,其中包含另一个对象.
List<MyClass> myClass = new List<MyClass>();
Run Code Online (Sandbox Code Playgroud)
我想这样做一些linq
myClass.Where(x => x.MyOtherObject.Name = "Name").ToList();
Run Code Online (Sandbox Code Playgroud)
事情有时候"MyOtherObject"为空.我该如何检查?
ale*_*exn 31
简单,只需添加一个AND子句来检查它是否为null:
myClass.Where(x => x.MyOtherObject != null && x.MyOtherObject.Name = "Name").ToList();
Run Code Online (Sandbox Code Playgroud)
从 C# 6 开始,您还可以使用空条件运算符 ?.:
myClass.Where(x => x.MyOtherObject?.Name == "Name").ToList();
Run Code Online (Sandbox Code Playgroud)
Name如果MyOtherObject为空,这将从本质上将属性解析为空,这将使与"Name"。