GET*_*Tah 2 c# ienumerable foreach iterator yield-return
我有以下方法:
public IEnumerable<object> GetParameters(Context context)
{
yield return new[] { 1, 2, 3 };
}
Run Code Online (Sandbox Code Playgroud)
当我遍历此枚举时:
foreach (var parameter in GetParameters())
{
// Do something here with parameter
}
Run Code Online (Sandbox Code Playgroud)
我希望参数1在第一个循环,2在第二个和3第三个,但事实并非如此:(

parameter 是一个包含所有值的数组!
我在这里失踪了什么?
您将返回可枚举数组的单个实例.
你要:
yield return 1;
yield return 2;
yield return 3;
Run Code Online (Sandbox Code Playgroud)