Как реализовать поиск в IList и обновить свойства объектов для найденных объектов - PullRequest
0 голосов
/ 08 декабря 2010

Я объявляю IList:

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

Я заполняю переменную OrigVendors, и я хочу найти все объекты, которые имеют идентификатор, который я ищу.Затем мне нужно обновить свойство этого объекта только для найденных.Это можно сделать с помощью IList или мне нужно использовать какой-то другой тип коллекции?Я использую VB.net

1 Ответ

1 голос
/ 08 декабря 2010

Предполагая, что вы проводите различие между неуниверсальной версией IList и универсальным списком , вы можете фильтровать определенные свойства.

Поскольку интерфейс IList не является производным от Generic IEnumerable (а скорее, от неуниверсальной версии IEnumerable ), вы не можете использовать многие методы расширения в Перечислимый класс в пространстве имен System.Linq .

Однако, если вы знаете, что неуниверсальная реализация IList содержит только реализаций IVendors, тогда вы можете do - это вызов метода расширения Cast для IEnumerable , например, так:

Dim typedVendors = OrigVendors.Cast(of IVendors)

Как только вы наберете IEnumerable (из IVendors), вы можете использовать любой из методов LINQ, которые вывыберите для фильтрации последовательности и выполнения операций над элементами.

...