2

次のコード ブロックを検討してください。

using (FileStream fs = new FileStream(@"C:\bad_records.txt", 
                                      FileMode.Create, 
                                      FileAccess.Write))
{
    var badEnumerable = _cache.Where(kvp => !kvp.Value.Item1);

    fs.WriteLine(string.Format("BAD  RECORDS ({0})", badEnumerable.Count()));
    fs.WriteLine("==========");

    foreach (var item in badEnumerable)
    {
        fs.WriteLine(string.Format("{0}: {1}", item.Key, item.Value.Item2));
    }
}

where_cacheは次のように定義されます。

static Dictionary<string, Tuple<bool, string, string>> _cache;

この列挙可能なものを 2 回反復していますか? Count()1 回とforeach?で 1 回

4

5 に答える 5