簡體   English   中英

在Windows Phone 7中解析文本文件

[英]Parsing text file in Windows Phone 7

我正在嘗試在Windows Phone 7中解析和讀取文本文件。這是文本文件的格式(實際上有44個條目):

Millbrae,37.600322,-122.386735
SFO,37.61636,-122.391027
San Bruno,37.638262,-122.416513
South SF,37.664264,-122.444043

這是我的代碼:

var foo=Application.GetResourceStream(new Uri("stations.txt", UriKind.Relative));
        StreamReader streamReader = new StreamReader(foo.Stream);
        string x;
        int k;

            while ((x = streamReader.ReadLine()) != null)
            {
                string[] items = x.Split(',');
                   for (k = 0; k < 43; k++)
                 {

                     cities[k] = (items[0]);

                 }//for*/
            }//while

            for (k = 0; k < 43; k++)
            {
                MessageBox.Show(cities[k]);
            }

最后的最后一個消息框僅用於調試-我試圖確保將所有城市都讀入稱為city的字符串數組中。 但是,當我輸出citys數組時,對於所有44個條目,我得到的只是文本文件中的最后一個值。

誰能指出我做錯了什么? 我不確定如何在上一個城市中閱讀每個值。 謝謝!

您在城市數組的所有44個條目中為同一城市設置了44倍。
然后,對下一行重復相同的模式,並在最后一行停止。 因此,僅用最后一個條目填充數組。

      k = 0;
      while ((x = streamReader.ReadLine()) != null) 
      { 
            string[] items = x.Split(','); 
            if( k <= 44)
            {
                 cities[k] = (items[0]); 
                 k++;
            }
        }//while 

刪除城市上的for循環並保持手動增量var可以解決問題。 當然,我假設將城市數組聲明為

   string[] cities = new string[44]();

添加了if語句以檢查出界外索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM