Nedává to smysl, vždyť to ani nemůže jít zkompilovat.
Prvním pokusem voláš Trim na pole, pole (ať už čehokoliv) nemá metodu Trim.
Ten druhej pokus je taky blbost, j je string, jeden z těch v poli, čili jeden načtený řádek.
Tím se pokoušíš indexovat v tom poli, které ho obsahuje. Pole není asociativní -> indexovat můžeš jen pozicí prvku. Ono taky indexovat prvkem, který chceš z toho pole dostat by bylo dost k ničemu, když už ho stejně máš, žejo . Když už to chceš udělat takhle, musíš použít smyčku for
for (int i = 0; i<ovoce.Length; i++)
ovoce[i] = ovoce[i].Trim();
a pokud jde o nejjednodušší řešení, použij LINQ. K tomu už jenom dodám, že té konstrukci s šipkou "=>" se říká lambda výraz.string[] ovoce = File.ReadAllLines(@"C:\Users\ ... \ovoce.txt").Select(s => s.Trim()).ToArray();