Witam,
Posiadam dwa pliki tekstowe. W pierwszym pliku są znaki ("a" i "e") zapisane w oddzielnych liniach. W drugim pliku mam dwa zdania, również w oddzielnych liniach. Metoda ma za zadanie sprawdzić czy wyraz z danego zdania ma w sobie któryś ze znaków - jeśli tak to "usunąć" ten wyraz, a potem nowe zdania zapisać w nowym pliku.
Problem pojawia się w miejscu pogrubionym niżej. Występuje on dokładnie po wykonaniu się normalnie dla literki "a" i przejściu do literki "e", wyświetla się komunikat "Wartość nie może być zerowa". Nie widzę niestety czemu tak się dzieje. Z góry dziękuje za pomoc.
zmienna p1 jest to przeczytany pierwszy z plików, i skorygowany do ciągu znaków w jednej linii = ae
static void czyzawieraznak(string plik, string plik2, string plik3)
{
StreamReader sr = new StreamReader(plik);
StreamReader sr2 = new StreamReader(plik2);
StreamWriter sw = new StreamWriter(plik3);
string p1 = sr.ReadToEnd();
p1 = usunpuste(p1);
while (!sr2.EndOfStream)
{
string[] p2 = sr2.ReadLine().Split(' ');
for (int i = 0; i < p1.Length; i++)
{
for (int j = 0; j < p2.Length; j++)
{
**if (p2[j].Contains(p1[i]))**
{
p2[j] = null;
}
}
}
sw.Close();
zapisz2(plik3, p2);
}
}