如何在IList上实现查找并更新找到的对象上的对象属性

时间:2010-12-07 21:40:24

标签: .net vb.net find ilist

我宣布IList:

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

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

1 个答案:

答案 0 :(得分:1)

假设您正在区分non-Generic version of IList和通用List class,那么您可以对特定属性进行过滤。

由于IList接口不是来自Generic IEnumerable(而是non-Generic version of IEnumerable),因此您无法在Enumerable class in the System.Linq namespace上使用许多扩展方法。

但是,如果您知道非通用IList实现包含仅仅 的IVendors实现,那么您可以做的就是调用Cast extension method on IEnumerable之类的:

Dim typedVendors = OrigVendors.Cast(of IVendors)

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