我正在声明一个 IList:
Dim OrigVendors as IList
OrigVendors = new List( of IVendors)
我填充了 OrigVendors 变量,我想做的是找到所有具有我正在寻找的 ID 的对象。然后我需要只为找到的对象更新该对象的属性。这可以使用 IList 还是我需要使用其他类型的集合?我正在使用 VB.net
假设您要区分IList 的非通用版本和通用列表类,那么您可以过滤特定属性。
因为 IList 接口不是派生自Generic IEnumerable(而是 IEnumerable 的非通用版本),所以不能在 System.Linq namespace 中的 Enumerable 类上使用许多扩展方法。
但是,如果您知道非通用 IList 实现仅包含IVendors 的实现,那么您可以做的是调用IEnumerable 上的 Cast 扩展方法,如下所示:
Dim typedVendors = OrigVendors.Cast(of IVendors)
一旦你有了类型化的 IEnumerable(of IVendors),你就可以使用你选择的任何 LINQ 方法来过滤掉序列并对项目执行操作。