5
なぜ、これら2つの関数の出力が同じデータに対して異なるのか説明してください。
私は同じ出力、つまり行を追加することを期待しました。行を追加するには、代替1をどのように変更できますか?各測定のために>追加された行 -Linq式とforeachは異なる結果を生成します
代替>なし出力/追加された行2
private void CreateBody2(TestRun testRun, StringBuilder lines)
{
foreach (Measurement m in testRun.Measurements.OrderBy(m => m.TimeStamp))
{
lines.AppendLine(string.Format("{0},{1}", m.TestRound, m.Transponder.Epc));
}
}
-
代替1
private void CreateBody(TestRun testRun, StringBuilder lines)
{
testRun.Measurements.OrderBy(m => m.TimeStamp)
.Select(m => lines.AppendLine(string.Format("{0},{1}", m.TestRound, m.Transponder.Epc)));
}
(背景Measurements
はICollection<>
を実装します)
レイジー評価は、用語です。 [Lazy vs Eagerの記事](http://blogs.msdn.com/b/ericwhite/archive/2006/10/04/lazy-evaluation-_2800_and-in-contrast_2c00_-eager-evaluation_2900_.aspx) – bland