1

如何使用 linq 匹配每个单词的搜索字符串?即“apple orange”应该匹配“orange apple”而不是“apple orange fred”。

此处的此查询可用于查找是否有任何单个单词匹配,但我无法使其适用于 All() 单词匹配。

var match = "apple orange pear".Split()
        .Intersect("orange pear fred".Split())
        .Any();

这个想法与这个线程非常相似。给定字符串的逐字超级字符串搜索

4

1 回答 1

1

检查检查列表中是否存在每个单词:

var words = "orange pear fred".Split();
var wordsToCheck = "apple orange".Split();
var match = words.All(w => wordsToCheck.Contains(w));

或者产生两个序列的差异。如果没有不同的元素,则所有单词都在检查列表中:

var match = !words.Except(wordsToCheck).Any();
于 2013-04-08T22:58:02.267 回答