我怎么能在c#中做到这一点?

我怎么能在c#中做到这一点?,c#,C#,结构是 产品有一个类别列表 类别有一个pieceinfo列表 每个pieceinfo都有一个Id,我想检查它是否存在于产品中 我有一个列表int list pieceinfo,我想从列表中获取它 有人能告诉我怎么做吗 我想编写一个lambda表达式来检查pieceinfo是否存在 Model.Find(x => x.Categories.Find(y => y.PieceInfo.Find(z => z.Id == i))) 我想知道如何检查每个产品类别的pieceinf

结构是

  • 产品有一个类别列表
  • 类别有一个pieceinfo列表
  • 每个pieceinfo都有一个Id,我想检查它是否存在于产品中
我有一个列表
int list pieceinfo
,我想从
列表中获取它

有人能告诉我怎么做吗

我想编写一个
lambda表达式
来检查
pieceinfo
是否存在

Model.Find(x => x.Categories.Find(y => y.PieceInfo.Find(z => z.Id == i)))
我想知道如何检查每个产品类别的
pieceinfo
是否有
Id
,该Id也存在于
列表I

public struct Product
{
    public int Id;
    public string Title;
    public List<Productdetailed> Info;
    public List<ProductCategory> Categories;
}

public struct ProductCategory
{
    public int Id;
    public string Title;
    public bool Has_Image;
    public List<ProductInfo> PieceInfo;
    public int ProdId;
}

/// <summary>
/// Coverage, packing detailed
/// </summary>
public struct ProductInfo
{
    public int Id;
    public string Size;
    public string Packing;
    public string Price;
    public bool PricePerTon;
    public int ProdId;
    public int Cat_Id;
}

public struct Productdetailed
{
    public int Id;
    public string Packaging;
    public string Coverage;
    public int prodId;
}
公共结构产品
{
公共int Id;
公共字符串标题;
公开名单信息;
公开名单类别;
}
公共结构ProductCategory
{
公共int Id;
公共字符串标题;
公共图书馆具有良好的形象;
公共列表信息;
公共int ProdId;
}
/// 
///保险范围,包装详细
/// 
公共结构ProductInfo
{
公共int Id;
公共字符串大小;
公共字符串包装;
公共字符串价格;
公共图书馆普利斯珀顿;
公共int ProdId;
公共int Cat_Id;
}
公共结构产品详细信息
{
公共int Id;
公共字符串包装;
公共覆盖;
公共int prodId;
}

您的帖子目前很难理解。请阅读和编辑适当-包括一些代码,如果可能的话。一分钟先生,我会更新它。感谢您告诉我问题请发布(简化)类定义。
var allPieces = Model.SelectMany(x => x.Categories).SelectMany(y => y.PieceInfo);
var isPieceExist = allPieces.Any(piece => piece.Id == id);

// or

var findedPiece  = allPieces.FirstOrDefault(piece => piece.Id == id);