//比對 public void Compare(string productFilePath, int num, string saveFileName, string saveFileName2) { int count = 0; Search s = new Search(); var Fi = from rline in File.ReadLines(productFilePath) select new { Line = rline }; Parallel.ForEach(Fi, f => { string desc = GetKeyword(f.Line); bool isMatch = false; foreach (var ss in s.Searcher(num, desc, "n")) //比對 { isMatch = true; lock (syncHandle) { saveData.Save(saveFileName, string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}", ss, f.Line.Split('\t')[2].Replace(",", " "),//description f.Line.Split('\t')[1],//price f.Line.Split('\t')[3],//user_id f.Line.Split('\t')[0],//gd_id f.Line.Substring(f.Line.IndexOf("http"))));//url } count++; } if (!isMatch)//若沒對應到則印出原本文字 { lock (syncHandle) saveData.Save(saveFileName2, f.Line); } }); saveData.Save("Number.txt", saveFileName + "\t" + count); }
private void btnSearch_Click(object sender, EventArgs e) { txtResult.Text = ""; Search s = new Search(); string str = GetKeyword(txtInput1.Text.ToLower()); foreach (string ss in s.Searcher(3, str, "n")) txtResult.Text += ss; txtResult.Text += "\r\n"; foreach (string ss in s.Searcher(2, str, "n")) txtResult.Text += ss; txtResult.Text += "\r\n"; foreach (string ss in s.Searcher(1, str, "n")) txtResult.Text += ss; }