Как пересечь два массива? - PullRequest
2 голосов
/ 11 июня 2009

Я работаю с VB.Net, и у меня есть два одномерных массива. Есть ли встроенная функция для поиска элементов, которые являются общими для них обоих? Или я должен написать один для себя?

Ответы [ 3 ]

9 голосов
/ 11 июня 2009

Если вы можете использовать методы расширения LINQ (VB9), тогда да - вы можете использовать Enumerable.Intersect():

dim a as String() = {"blah", "bleak", "blorg", "blue"}
dim b as String() = {"blaah", "bleak", "bleee", "blue"}

' c will contain "blah" and "blue" '
dim c as IEnumerable(Of String) = a.Intersect(b)
1 голос
/ 02 ноября 2011

Просто используйте LinqBridge для .net 2.0 http://code.google.com/p/linqbridge/downloads/list, и вы сможете использовать метод пересечения.

1 голос
/ 12 июня 2009

Боюсь, вам придется написать один для себя, потому что в .NET 2.0 нет встроенной функции.

Посмотрите на этот вопрос StackOverflow , чтобы узнать, как вы могли бы реализовать его самостоятельно.

...