0

我有一个从 wcf 服务返回的可观察集合中的名称列表,数据库是 oracle,我想使用 LINQ 对列表进行全文搜索。

服务在 silverlight 应用程序中使用。

任何建议请。

4

2 回答 2

2

这个怎么样?

var found = thelist.Where(str => str.Contains(strToSearchFor));

或者这个——

var found = thelist.Where(str => str.ToLower().Contains(strToSearchFor.ToLower()));

如果它不是字符串列表,它会像这样:

var found = thelist.Where(obj => obj.strProperty.Contains(strToSearchFor));
于 2013-07-25T22:31:10.517 回答
0

如果您需要此解决方案不区分大小写,则可以在不创建新字符串的情况下完成 Hogan 的解决方案(通过使用 ToLower() 方法)。

首先,创建一个扩展方法:

public static class Extensions
{
    public static bool Contains(this string source, string stringToMatch, StringComparison comparisonType)
    {
        return source.IndexOf(stringToMatch, comparisonType) >= 0;
    }
}

然后你可以像这样使 Hogan 解决方案不区分大小写:

var found = thelist.Where(str => str.Contains(strToSearchFor, StringComparison.OrdinalIgnoreCase));
于 2013-07-30T07:25:22.007 回答