我有一个从wcf服务返回的可观察集合中的名称列表,数据库是oracle,我想使用LINQ在列表上进行全文搜索。
在silverlight应用程序中消耗了服务。
任何建议请。
答案 0 :(得分: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));
答案 1 :(得分: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));