Nie bylo niestety lekcji o operacjach na plikach w c# tak samo jak porownywania tablic. Mam troche skomplikowany przypadek.
mam 2 pliki textowe (takie chyba najlatwiejsze do operowania)
przyklad pliku 1:
MB-ASUSZ97K
GPU-GTX780
snd-sbaudigyfx
WLAN-300
przyklad pliku 2:
MB-ASUSZ97K
//SERVER/drivers/asusz97k.exe
PCI-FWI121
//SERVER/drivers/fwi.exe
GPU-GTX780
//SERVER/drivers/gtx780.exe
SOF-BULL1
//SERVER/drivers/bullguard.exe
snd-sbaudigyfx
//SERVER/drivers/sbfx.exe
Z97N-WIFI
//SERVER/drivers/z97nwifi.exe
WLAN-300
//SERVER/drivers/wlan300.exe
podobna baza byla na kursie C++
Wiec w jaki sposob po wczytaniu obu plikow moge porownac i wybrac te same elementy z drugiej tablicy i pobrac pliki?
To tylko krotki przyklad bo w 2 tablicy beda tysiace elementow. Tak wydaje mi sie latwiej bo moglbym zawrzec to w kodzie, problem w tym ze za kazdym
razem trzebaby go rekompilowac, a jesli bedzie plik txt to odpowiedzialna za to osoba moze dopisac linijki i bedzie wszystko dzialac. Bede z gory wdzieczny za pomoc
Operacje na plikach
Re: Operacje na plikach
dla ludzi w potrzebie mam rozwiazanie:
Code: Zaznacz cały
var file1 = new HashSet<string>(File.ReadAllLines(path1));
string line;
var file2 = new System.IO.StreamReader(path2);
Dictionary<string, string> links = new Dictionary<string, string>();
while ((line = file2.ReadLine()) != null)
{
string nextLine;
if (file1.Contains(line) && (nextLine = file2.ReadLine()) != null)
links[line] = nextLine;
}
Code: Zaznacz cały
foreach (var kv in links)
Console.WriteLine("Key: {0} Value:{1}", kv.Key, kv.Value);