Linq - Conditional Where / Find

本文关键字:Find Where Conditional Linq | 更新日期: 2023-09-27 18:05:12

我有以下两行,

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会脱落

Linq - Conditional Where / Find

我想你的意思是这样的:

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