歩留まりは今まで理解するのが難しいものです。しかし今、私はそれを手に入れています。これで、プロジェクトでListを返すと、Microsoftのコード分析で警告が表示されます。したがって、通常、必要なすべての論理部分を実行し、リストをIEnumerableとして返します。両者の違いを知りたい。イールドリターンを行っているかどうかを意味します。
これは私が示している非常に単純な例です。通常、コードは少し複雑です。
private static IEnumerable<int> getIntFromList(List<int> inputList)
{
var outputlist = new List<int>();
foreach (var i in inputList)
{
if (i %2 ==0)
{
outputlist.Add(i);
}
}
return outputlist.AsEnumerable();
}
private static IEnumerable<int> getIntFromYeild(List<int> inputList)
{
foreach (var i in inputList)
{
if (i%2 == 0)
{
yield return i;
}
}
}
私が見ることができる重要な利点の1つは、行が少ないことです。しかし、他に何かメリットはありますか?Listの代わりにyieldを使用するために、IEnumearbleを返す関数を変更および更新する必要がありますか?物事を行うための最良の方法またはより良い方法は何ですか?
ここでは、Listに対して単純なラムダ式を使用できますが、通常はそうではありません。この例は、コーディングの最良のアプローチを理解するためのものです。