我宣布IList:
Dim OrigVendors as IList
OrigVendors = new List( of IVendors)
我填充了OrigVendors变量,我想要做的是查找具有我正在寻找的ID的所有对象。然后我需要更新该对象上的属性,仅查找找到的属性。这是否可以与IList一起使用,还是需要使用其他类型的集合?我正在使用VB.net
答案 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方法来过滤掉序列并对项目执行操作。