Witam.
Piszę program, którego jedną z funkcjonalności ma być porównywanie dwóch dokumentów. To swego rodzaju skrypty, więc każdy z dokumentów czytam linia po linii, parsuję i wrzucam do listy, żeby mieć szybki dostęp do każdej jednej linijki. Potem porównuję odpowiadające sobie linie z dwóch list. Ze stwierdzeniem, że linie nie są takie same oczywiście problemu nie mam. Ze wskazaniem, gdzie zaczynają się różnić też, ale dalej... Jeżeli ktoś w jednym skrypcie dodał/usunął literkę/słowo, wszystko się sypie. Podobny problem w ujęciu nieco bardziej 'globalnym' - użytkownik może też dodać lub usunąć całą linię, a wtedy sypią się wszystkie dalsze porównania.
Chciałbym osiągnąć efekt jak np. przy oglądaniu zmian artykułów w Wikipedii czy kodu w SVN-ach. Po prostu podkreślić albo podkolorować różnice, tyle że nijak nie mam pojęcia, jak owe różnice znaleźć. Może istnieje na to jakiś mądry algorytm albo wręcz gotowa biblioteka (program powstaje w C#)?
To nie tak, że przychodzę po gotowe rozwiązanie - wystarczy jakieś nakierowanie...