如何在 IList 上实现查找并更新找到的对象的对象属性
我正在声明一个 IList:
Dim OrigVendors as IList
OrigVendors = new List( of IVendors)
我填充 OrigVendors 变量,我想要做的是找到具有我要查找的 ID 的所有对象。然后我需要仅更新找到的对象的属性。这可以使用 IList 实现吗?还是我需要使用其他类型的集合?我正在使用VB.net
I am declaring an IList:
Dim OrigVendors as IList
OrigVendors = new List( of IVendors)
I populate the OrigVendors variable and what I want to do is find all the objects that have the ID I am looking for. Then I need to update a property on that object for only the ones found. Is this do able with an IList or do I need to use some other type of collection? I am using VB.net
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
假设您要区分非通用版本的 IList 和通用 List 类,然后您可以过滤具体属性。
因为 IList 接口不是从 Generic IEnumerable 派生的(而是, IEnumerable 的非通用版本),您可以不要在系统中的 Enumerable 类上使用许多扩展方法.Linq 命名空间。
但是,如果您知道非通用 IList 实现仅包含 IVendors 的实现,那么您可以调用在 IEnumerable 上投射扩展方法,如下所示:
一旦您拥有类型化的 IEnumerable(IVendors),您就可以使用任何您选择过滤出序列并对项目执行操作的 LINQ 方法。
Assuming that you are making a distinction between the non-Generic version of IList and the Generic List class, then you can filter on specific properties.
Because the IList interface does not derive from the Generic IEnumerable (but rather, the non-Generic version of IEnumerable), you can't use many of the extension methods on the Enumerable class in the System.Linq namespace.
However, if you know that the non-Generic IList implementation contains only implementations of IVendors, then what you can do is call the Cast extension method on IEnumerable like so:
Once you have the typed IEnumerable(of IVendors), you can use any of the LINQ methods you choose to filter out the sequence and perform operations on the items.