2017-01-18 4 views
0
for (int i = 0; i < urls.Count(); i++) 
       { 
        string pathDateTime = urls[0].Substring(48, 12); 
        string pathDateTimeLast = urls[urls.Count - 1].Substring(48, 12); 
        var d = DateTime.ParseExact(pathDateTime, "yyyyMMddHHmm", CultureInfo.InvariantCulture); 
        var e = DateTime.ParseExact(pathDateTimeLast, "yyyyMMddHHmm", CultureInfo.InvariantCulture); 
        string path = countriesMainPath + "[" + d + "---" + e + "]"; 
       } 

この場合、私はURLに780リンクを持っています。 は、私は、インデックス20と39、インデックス40と59どのようにして最初のリンクと最後のリンクだけ20のリンクごとに特定の文字列を解析できますか?

ごとに20個のリンクにリンクインデックス0にし、その後、インデックス19 のリンクを解析するだけ最初の解析ではなく、すべての20個のリンクを最後にしたいです。 したがって、パスiでは、解析インデックス0とインデックス19を持つでしょう。 次回のパスでは、解析インデックス20と39 などが最後まで続きます。

+1

何か'私はあなたがインデックスを言っている – BradleyDotNET

+1

を開始するので、どのように配列のようなものを使用して約どこTake'は次のようになります。文字列は正しく、あなたはこのようなループのために何かを使用することができますか?私はc#かどうか知りません。 –

答えて

1

カウンタを追加し、繰り返しごとに19ずつカウントアップします。あなたの次の反復で

for (int i = 0; i < urls.Count(); i++) 
{ 
    // Do your stuff 
    i = i + 19; 
} 

、あなたはあなたのコードの中で、あなたが実際には各20インデックスブロックの最初と最後から、コード解析するデータを使用することを意味すると仮定すると、インデックスで20

3

を開始します`Skip`として

List<string> paths = new List<string>(); 
for (int i = 0; i < urls.Count(); i += 20) 
{ 
    string pathDateTime = urls[i].Substring(48, 12); 
    string pathDateTimeLast = urls[i + 19].Substring(48, 12); 
    var d = DateTime.ParseExact(pathDateTime, "yyyyMMddHHmm", CultureInfo.InvariantCulture); 
    var e = DateTime.ParseExact(pathDateTimeLast, "yyyyMMddHHmm", CultureInfo.InvariantCulture); 
    paths.Add($"{countriesMainPath}[{d}---{e}]"); 
} 
関連する問題