2016-09-16 100 views
-1

我試圖將每行從文本文檔中分離出來,然後將它們保存爲單獨的字符串。這是我的文本文件:將每行保存爲文本文檔中的字符串

CurrentVersion: 1.0.0.0 
Update information: New GUI, Fixed login system. 

我有2個字符串在我的程序中聲明。

string CurrentVersion = String.Empty; 
string UpdateInfo = String.Empty; 

我想要字符串CurrentVersion來保存第一行。所以:

CurrentVersion = CurrentVersion: 1.0.0.0 

而且我希望UpdateInfo來保存第二行。所以:

UpdateInfo = Update information: New GUI, Fixed login system. 

我試過這段代碼:

foreach(var myString in TextDocument.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)) 
interpret(myString); 

當我打電話

MessageBox.Show(myString); 

我得到2個消息框。第一個消息框顯示:

CurrentVersion: 1.0.0.0 

而第二個消息框顯示

Update information: New GUI, Fixed login system. 

但我想CURRENTVERSION和updateInfo時等於行。我不知道如何做到這一點。

+2

「_But我希望CurrentVersion和UpdateInfo等於lines._」這是什麼意思? –

+0

如何讓CurrentVersion等於文本文檔的第一行,UpdateInfo等於文檔的第二行? –

+0

你必須分配它。在你的'foreach'裏面,你需要確定哪一行是哪一行,然後分配它。例如,你可以創建一個計數器,*假設*第一行總是CurrentVersion行,'int counter = 0; foreach(var myString in text){counter ++; if(counter == 1){CurrentVersion = myString; }};或者你可以做模式匹配:'foreach(var myString in text){if(myString.Contains(「CurrentVersion」)){CurrentVersion = myString; }}。 – Quantic

回答

2
string[] lines = TextDocument.Text.Split(new string[] 
    { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); 

string CurrentVersion = lines[0]; 
string UpdateInfo = lines[1]; 
+2

謝謝,正是我需要的。我嘗試了類似的方法,但我總是收到「非法字符」錯誤。但是,這完美地工作。留言Merci。 –

相關問題