LINQ让重复数据 - c#

我对LINQ简单示例有疑问。我没有收到预期的结果。这是代码:

        string[] postres = { "pay de manzana", "pastel de chocolate", "manzana caramelizada", "fresas con crema", "pay de manzana y pera" };

        IEnumerable<string> mispays = from p in postres
                                      let manzanitas = (
                                        from p1 in postres
                                        where p1.Contains("manzana")
                                        orderby p1
                                        select p1)
                                      from p2 in manzanitas
                                      where p2.Contains("pay")
                                      select p2;

        foreach (string postre in mispays)
        {
            Console.WriteLine(postre);
        }

我期望这个结果:

曼萨纳河
支付manzana y pera

但是我收到这个:

曼萨纳河
支付manzana y pera
曼萨纳河
支付manzana y pera
曼萨纳河
支付manzana y pera
曼萨纳河
支付manzana y pera
曼萨纳河
支付manzana y pera

因此代码重复了我预期结果的5倍。
你能告诉我为什么吗?和¿我如何收到预期的结果?

谢谢你的帮助。

参考方案

这是另一个版本。

string[] postres = { "pay de manzana", "pastel de chocolate", "manzana caramelizada", "fresas con crema", "pay de manzana y pera" };

var keyWords = new string[] {"manzana", "pay"};

var found = postres
    .Where( p => keyWords.All( w => p.Contains(w)))
    .ToList();

foreach (var o in found) Console.WriteLine(o);
pay de manzana
pay de manzana y pera

更新以下评论。

您知道使用“ let”的任何方式吗?

var found =
    from p in postres
    let keyWords = new string[] {"manzana", "pay"}
    let sentence = p.ToLower()
    where keyWords.All( w => sentence.Contains(w.ToLower()))
    select p;
    // ToLower()s are obviously optional, but it gives you an extra let ;)

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

LINQ to XML语法 - c#

我有一个简单的POCO类,用于保存从XML文件提取的数据,该XML文件定义如下:public class Demographics { public string FirstName { get; set; } public string LastName { get; set; } public string MiddleName { get; set; …

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …

如何在Wiremock中为JUNIT匹配精确的json - java

我正在使用Wiremock在Spring启动应用程序中模拟Junit的REST服务。我的问题是,我无法匹配多个匹配模式。 Junit.javaStringValuePattern pattern = WireMock.matching(".*"); givenThat(post(urlEqualTo("/softwares�…

如何在JQuery中操作JSONArray - javascript

我有一个php函数,它以JSON返回此代码{"0":{"title":"Dans l\u2019appartement"},"1":{"title":"A l\u2019a\u00e9roport - D\u00e9part de B\u00e9at…