我有一个从 wcf 服务返回的可观察集合中的名称列表,数据库是 oracle,我想使用 LINQ 对列表进行全文搜索。
服务在 silverlight 应用程序中使用。
任何建议请。
我有一个从 wcf 服务返回的可观察集合中的名称列表,数据库是 oracle,我想使用 LINQ 对列表进行全文搜索。
服务在 silverlight 应用程序中使用。
任何建议请。
这个怎么样?
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));
如果您需要此解决方案不区分大小写,则可以在不创建新字符串的情况下完成 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));