Porównanie dwóch tablic/txt

Porównanie dwóch tablic/txt
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam.

Jak zrobić żeby program porównywał dwie tablice/pliki txt ze sobą, a następnie usuwał takie same elementy jakie są w tablicy 2 z tablicy 1?

Mam nadzieję że wiecie o co mi chodzi :)

DibbyDum
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska, Kraków
0

Cholibka, nie rozumiem może pokażesz kod który do tej pory napisałeś i w czym problem może ktoś zrozumie co chcesz osiągnąć...
A tak na serio to dwie pętle iterujesz po elementach pierwszej tablicy i dla każdego elementu sprawdzasz czy istnieje w drugiej tablicy, jak jest to usuwasz jak nie ma to nie usuwasz.

  • Rejestracja: dni
  • Ostatnio: dni
0

kurczę, trudno to wytłumaczyć :D

Może tak:
Wczytuję sobie pliki do array'a -

Kopiuj
string[] Jeden= System.IO.File.ReadAllLines(@"Jeden.txt"); 
Kopiuj
string[] Dwa= System.IO.File.ReadAllLines(@"Dwa.txt"); 

W tablicy "Jeden" mam:

aa
bb
cc

A w tablicy "Dwa":

xx
aa
yy

I teraz chciałbym żeby z tablicy "Dwa" usunęło mi "aa"

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
3

string[] wynik = dwa.Except(jeden).ToArray();

  • Rejestracja: dni
  • Ostatnio: dni
0

Z Except trzeba uważać, bo on nie tylko usunie elementy ze zbioru 1, które znajdują się w zbiorze 2, ale dodatkowo zrobi distinct na zbiorze 1. Najłatwiej będzie to zaprezentować na przykładzie.

Kopiuj
 
      var one = new[]
      {
        "aaa",
        "bbb",
        "ccc"
      };

      var two = new[]
      {
        "ddd",
        "eee",
        "aaa",
        "eee"
      };

      var result = two.Except(one).ToArray();

Wg mnie spodziewanym wynikiem powinna być tablica ["ddd", "eee", "eee"], zaś będzie ["ddd", "eee"].

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1

O borze. :|

Nie ma żadnego distinct. Except zwraca zbiór, a zbiór z definicji nie może zawierać dwóch takich samych elementów.

Zawsze można napisać:

Kopiuj
two.Where(x => !one.Contains(x)).ToArray();

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.