Porównaj dwie tablice różnych długości i pokaż różnice

Problem:
Mam dwie tablice, które mogą mieć różne długości. Muszę przejrzeć obie tablice i znaleźć podobieństwa, uzupełnienia i usunięcia.

Jaki jest najszybszy i najbardziej wydajny sposób na osiągnięcie tego w C #?

Edytować: Macierze są wstępnie sortowane i mogą zawierać od 50 do 100 elementów. Ponadto nie ma żadnych ograniczeń dotyczących prędkości i / lub wykorzystania pamięci (jednak nikt nie lubi pamięci;)

Na przykład:

<code>String[] Foo_Old = {"test1", "test2", "test3"};
String[] Foo_New = {"test1", "test2", "test4", "test5"};
</code>

I

<code>String[] Bar_Old = {"test1", "test2", "test4"};
String[] Bar_New = {"test1", "test3"};
</code>

Różnice:

(w odniesieniu do tablicy Foo_New)

[Same]    "test1"
[Same]    "test2"
[Removed] "test3"
[Added]   "test4"
[Added]   "test5"

(w odniesieniu do paska Nowa tablica)

[Same]    "test1"
[Removed] "test2"
[Removed] "test4"
[Added]   "test3"

questionAnswers(4)

yourAnswerToTheQuestion