Linq - 有条件的地方/找到

时间:2015-07-29 07:58:44

标签: c# linq lambda

我有以下2行,

var productStrucutre = _service.GetProductStructureWithParent(partId).ToList(); // returns a list of objects
var product = productStrucutre.Find(_ => _.Part == part); // Returns a part

如果由于par t不存在而导致以下条件失败,那么我想返回整个产品结构。

var product = productStrucutre.Find(_ => _.Part == part);

所以find会消失

1 个答案:

答案 0 :(得分:2)

我认为你的意思是这样的:

var productStructure = _service.GetProductStructureWithParent(partId).ToList();
var product = productStrucutre.Where(x => x.Part == part);

return product.Any() ? 
    product :         // return only those products that fit the condition
    productStructure; // return all objects