C#. Porównanie zawartości stringów

0

Witam.
Mam taki dość głupi problem, ale nie umiem sobie z nim poradzić, stąd pytanie tutaj.
Wczytuje sobie do stringów jakieś dane, są one oddzielone nowymi liniami (przez "\n") - nie jestem pewny czy to ma znaczenie, ale lepiej wygląda przy wyświetleniu. Przykład:

string a = "dana1\ndana2\ndana3\ndana4\ndana5";
string b = "dana2\ndane3\ndana4\ndana6\ndana7";

I próbuję zrobić porównanie takie: jeśli jakaś dana z "a" nie występuje w "b" to ją wyświetla.
Innymi słowy wynik powinien wyglądać tak: "dana1\ndana3\ndana5"

Będę potrzebował też odwrotnie, jeśli "b" nie występuje w "a" to wyświetla, wynik: "dane3\ndana6\ndana7" - ale jeśli ktoś mi pokaże jak zrobić pierwsze porównanie, to kolejne pójdą bez problemu.

0

Rozbij sobie najpierw te stringi na kolekcje.
Podpowiedź: string.split()
https://msdn.microsoft.com/pl-pl/library/System.String.Split(v=vs.110).aspx

2
string a = "dana1\ndana2\ndana3\ndana4\ndana5";
string b = "dana2\ndane3\ndana4\ndana6\ndana7";

var firstSet = a.Split('\n');
var secondSet = b.Split('\n');

var except1 = firstSet.Except(secondSet);

foreach (var ex in except1)
{
    Console.WriteLine(ex);
}
0

Działa jak marzenie. Dzięki wielkie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1