2011-10-05 69 views
1

我试图获取文本框的内容,并将其拆分为数组,然后将每行写入文件。它看起来像这样:将文本块拆分为新行的字符串

string[] ban = Regex.Split(ImportText.Text, "\r\n"); 

     foreach (string card in ban) 
     { 
      if (card != "") 
      { 
       string banlist = isoStorage.getSettings("banList"); 
       banlist = "\r\n" + card + banlist; 
       isoStorage.changeSettings("banList", banlist); 
      } 
      ImportText.Text = ""; 
      updateBanListView(); 
     } 

问题是,文本框不会返回一个新行作为\ r \ n。我试过\ n,\ r \ n,甚至是environment.newline。我在WP7上使用C#。

关于如何将我的文本框分割成一行的任何想法?

+1

尝试'String.Split(ImportText.Text,Environment.NewLine)'。 –

+0

你的'Textbox'有'Lines'属性吗? –

+0

这只适用于获胜形式,而不是我所知的WP7。 – 2011-10-05 17:43:00

回答

3

出于某种原因,Windows Phone的只使用在文本框的线分割一个carraige回报(\ r)。有两种方法可以解决这个问题。

string[] ban = ImportText.Text.Split('\r'); 

但是,如果他们决定在未来实际使用\ n,这可能会中断。我已经看到了另一个例子here做这种方式:

List<string> ban = new List<string>(); 
string s; 

while ((s = reader.ReadLine()) != null) 
{ 
    ban.Add(s); 
} 

这感觉有点safter

+0

'System.Environment.NewLine'也应该返回正确的字符序列为Windows Phone平台。 –

+0

@SteveGuidi,是的它应该,但它不。免责声明虽然,我没有使用芒果SDK,我使用的旧工具。 –