0

我正在声明一个 IList:

Dim OrigVendors as IList
OrigVendors = new List( of IVendors)

我填充了 OrigVendors 变量,我想做的是找到所有具有我正在寻找的 ID 的对象。然后我需要只为找到的对象更新该对象的属性。这可以使用 IList 还是我需要使用其他类型的集合?我正在使用 VB.net

4

1 回答 1

1

假设您要区分IList 的非通用版本和通用列表类,那么您可以过滤特定属性。

因为 IList 接口不是派生自Generic IEnumerable(而是 IEnumerable 的非通用版本),所以不能在 System.Linq namespace 中的 Enumerable 类上使用许多扩展方法。

但是,如果您知道非通用 IList 实现包含IVendors 的实现,那么您可以做的是调用IEnumerable 上的 Cast 扩展方法,如下所示:

Dim typedVendors = OrigVendors.Cast(of IVendors)

一旦你有了类型化的 IEnumerable(of IVendors),你就可以使用你选择的任何 LINQ 方法来过滤掉序列并对项目执行操作。

于 2010-12-07T22:04:42.433 回答