2016-10-17 4 views
1

WebサイトからCSVファイルを読み込み、最初の文字列を\nで分割し、次に,で分割します。 アレイの内容を印刷しようとすると、非常に遅く、各要素を印刷する各Console.WriteLine()の間にほぼ1秒かかります。HTTPリクエストと複数のCSVファイルの分割を最適化する

なぜ印刷に時間がかかるのかよく分かりません。

任意のポインタは、あなたがいずれかのContentプロパティまたはループの前に、現在お使いのコードをダウンロードするので、変数に結果をキャッシュして文字列を分割する必要があり

public List<string[]> list = new List<string[]>(); 
    public List<string[]> Content 
    { 
     get 
     { 
      using (var url = new WebClient()) 
      { 
       _content = url.DownloadString("https://docs.google.com/spreadsheets/d/1DDhAd98p5RwXqvV53P2YvaujIQEg28HjeXasrCge9Qo/pub?output=csv"); 
      } 
      var urlArr = _content.Split('\n'); 

      foreach (var i in urlArr) 
      { 
       var contentArr = i.Split(','); 
       List.Add(contentArr); 
      } 
      return list; 
     } 
    } 

メイン

var data = new ReadCSV(); 

for(var i = 0; i < data.Content[2].Length; i++) 
     Console.WriteLine(data.Content[2][i]); 
+1

ヒント:デバッガーのブレークポイントを 'get'本体のどこかに置いてください。 – zerkms

答えて

1

を助けます1秒かかるループのたびに

したがって、コードは次のようになります。

var data = new ReadCSV(); 
var content = data.Content[2]; 

for(var i = 0; i < content.Length; i++) 
     Console.WriteLine(content[2][i]); 
関連する問題