【发布时间】:2014-10-06 21:24:38
【问题描述】:
是否可以像在 SQL 2014 中那样使用运算符 LIKE 来过滤 ObservableCollection。
前 SQL:SELECT * FROM Customer WHERE Name LIKE 'Cal%'
我需要相同类型的过滤,但使用 ObservableCollection,我知道你有来自 Linq 库的 Where,但它只查找 EXACT 字符串
谢谢
【问题讨论】:
-
请记住,这些集合类可用于任何类型的元素。虽然有用于确定精确对应的标准化方法(参见
IEquatable和IComparable接口),但没有用于检索任意类型的两个实例的“相似性”的标准化接口。因此,也没有这样的过滤方法;您必须根据您的自定义相似度测量来编写自己的代码。 -
.Where+.StartsWith(). -
.Where(str => str.StartsWith("Cal"))你只需要在Where子句中指定你的表达式 -
@Sunny 从您的
ObservableCollection创建ListCollectionView并使用Filter并绑定到它
标签: c# wpf linq observablecollection sql-server-2014