通常会创建个临时集合,处理完后返回结果。运用yield可以简化代码,习惯这么写了经常忘记yield方式
//优化前
private static IEnumerable<TestCaseType> Clone(TestCaseType t, int 倍数)
{
var c = new List<TestCaseType>();
for (var i = 0; i < 倍数; i++)
c.Add(new TestCaseType { desc = t.desc, proc = t.proc });
return c;
}
//优化后
private static IEnumerable<TestCaseType> Clone(TestCaseType t, int 倍数)
{
for (var i = 0; i < 倍数; i++)
yield return new TestCaseType { desc = t.desc, proc = t.proc };
}
网友评论