使用LINQ从不在另一个列表中的列表中删除项目

时间:2016-12-15 22:32:55

标签: c#

我有两个不同的列表

public Ingrédient(int p_noIngrédient, string p_nomIngrédient, bool p_périssable,
                 double p_prixAuKilo)
{
    NoIngrédient = p_noIngrédient;
    NomIngrédient = p_nomIngrédient;
    Périssable = p_périssable;
    PrixAuKilo = p_prixAuKilo;
}

public Recette(int p_noPlat, int p_noIngrédient, double p_quantité)
{
    NoPlat = p_noPlat;
    NoIngrédient = p_noIngrédient;
    Quantité = p_quantité;
}

我想找到NoIngrédient中不在Ingrédient的所有Recette。现在我有这个,但它不起作用。

void RetraitIngrédient(List<Recette> p_recettes,ref List<Ingrédient> p_ingrédients)
{
    foreach (Recette recettes in p_recettes)
    {
        Ingrédient ingrédients =
            p_ingrédients.Find(i => i.NoIngrédient != recettes.NoIngrédient);

        WriteLine("{0,6} : {1:6}",ingrédients.NoIngrédient, ingrédients.NomIngrédient);
    }
}

1 个答案:

答案 0 :(得分:0)

你可以尝试这样的事情。

        var results = _listIngredient.Join(_listRecette,
                        i => i.NoIngrédient,
                        r => r.NoIngrédient,
                        (ingre, rece) => new { ingre.NoIngrédient, ingre.NomIngrédient, ingre.PrixAuKilo, ingre.Périssable });