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

发布于 2024-10-06 09:05:00 字数 221 浏览 6 评论 0原文

我正在声明一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

謌踐踏愛綪 2024-10-13 09:05:00

假设您要区分非通用版本的 IList 和通用 List 类,然后您可以过滤具体属性。

因为 IList 接口不是从 Generic IEnumerable 派生的(而是, IEnumerable 的非通用版本),您可以不要在系统中的 Enumerable 类上使用许多扩展方法.Linq 命名空间

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

Dim typedVendors = OrigVendors.Cast(of IVendors)

一旦您拥有类型化的 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:

Dim typedVendors = OrigVendors.Cast(of IVendors)

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文