0

こんにちは皆さん、どうすれば foreach で 1 つの反復を繰り返すことができますか?

foreach (string line in File.ReadLines("file.txt"))
{
     // now line == "account", next line == "account1"
     if (line.Contains("a"))
         //next loop take "account1";
     else
        // need to set that next loop will take line == "account" again
}

どうやってするの?

4

3 に答える 3

9

私はあなたの例を完全には理解していませんが、あなたの質問は理解していると思います。私は同じ問題を抱えていましたが、解決策を思いつくことができました: foreach 内に while ループを含めます。あなたの例では、次のようになります。

foreach (string line in File.ReadLines("file.txt"))
{
    bool repeat = true;
    while (repeat)
    {
        // now line == "account", next line == "account1"
        if (line.Contains("a"))
        {
            //do your logic for a break-out case
            repeat = false;
        }
        else 
        {
          //do your logic for a repeat case on the same foreach element
          //in this instance you'll need to add an "a" to the line at some point, to avoid an infinite loop.
        }
     }
}

私はゲームに非常に遅れていることを知っていますが、これが同じ問題でここに出くわした他の人に役立つことを願っています.

于 2016-03-30T20:08:43.333 に答える