2009-06-11 10 views
1

Ich arbeite mit VB.Net und haben zwei eindimensionale Arrays. Gibt es eine eingebaute Funktion, um die Elemente zu finden, die beiden gemeinsam sind? Oder muss ich einen für mich selbst schreiben?Wie zwei Arrays schneiden?

+0

ähnliche Frage ist: http://stackoverflow.com/questions/245557/algorithm-to-find-if-two-sets-intersect Aber es ist meine Frage nicht –

Antwort

1

Ich fürchte, Sie werden ein für sich selbst schreiben, weil es keine gebaut Funktion in .NET 2.0.

Blick auf this StackOverflow question für Ideen, wie man es selbst implementieren könnte.

9

Wenn Sie die LINQ-Erweiterungsmethoden (VB9) verwenden können, dann ja - können Sie Enumerable.Intersect() verwenden:

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) 
+0

+1 für diese Antwort, sollte OP jedoch darüber im Klaren sein, dass dies eine VB9.0 Lösung, wenn er VB8.0 (Visual Studio 2005) verwendet wird dies nicht für ihn arbeiten. –

+0

@Patrick: guter Punkt, bemerkte – Shog9

+0

Leider, ich bin immer noch mit VB8.0 mit .NET Framework 2.0 arbeiten, so sieht wie ich aus Glück bin –