我試圖將所有數據從sample_data.txt
寫入t_sdata.txt
,除了可找到用戶在textbox (txt_key)
上輸入的字符串所在的行之外。將除特定行以外的所有行復制到文本文件
[sample data]
key,item,qty
0001,Apple,5
0002,Orange,10
0003,Grapes,15
所以,如果我在文本框中輸入0002
,t_sdata.txt
應包含以下內容:
[sample output data]
key,item,qty
0001,Apple,5
0003,Grapes,15
這就是我現在所擁有的目前不保存任何:
string plist = @"sample_data.txt";
string tdata = @"t_sdata.txt";
var dataline = File.ReadAllLines(plist)
.SkipWhile(l => !l.StartsWith(txt_key.Text))
.TakeWhile(l => !l.StartsWith(txt_key.Text) && l != null);
using (StreamWriter w = File.AppendText(tdata))
{
foreach (var lines in dataline)
{
if (dataline == null)
w.WriteLine(lines);
}
}
我我一直在玩SkipWhile/TakeWhile
位,但我顯然做錯了。
(不知道如果相關)注:該鍵可以是不同的長度和01可以從001
不確定這裏會發生什麼,因爲你在線寫入StreamWriter的行if(dataline == null)。邏輯上說,對於dataline中的所有行,如果dataline爲null,寫一行 - 沒有意義,或者我錯過了什麼? –