使用lambda过滤的数组未按预期工作

本文关键字:工作 数组 lambda 过滤 使用 | 更新日期: 2023-09-27 17:50:55

我试图使用以下代码筛选字符串数组

        String[] temp = { "apple", "Orange", "avocado" };
        var newtemp = temp.Where(x => x.IndexOf("apple") != -1);

我希望变量newtemp只包含"apple",但这并没有发生,它在第二行执行后包含所有三个字符串。我怎样才能实现我想要做的。任何帮助都是感激的。谢谢。

使用lambda过滤的数组未按预期工作

使用ToList()强制执行

var newtemp = temp.Where (x => x.IndexOf("苹果")! = 1).ToList ();

如果您使用First,它将获得一个单独的字符串(如果存在)

        String[] temp = { "apple", "Orange", "avocado" };
        var newTemp = temp.First(x => x.IndexOf("apple") != -1);