IListを介してこのメソッドをループして、年次会議を作成します。それは常に IList内での最後の会議をスキップ以外IListをループし、リストの最後のメンバーが見つからない
ループは作業を行います。
なぜそれがそれをしているのか分かりません。
私はさまざまな修正を試みましたが、いつも無限ループを作り出しています。
私はそれを見るためにもう一組の目が必要だと思います。
私はざらざらした詳細をいくつか残しましたが、ループの主な構造があります。
ありがとうございます!
public static IEnumerable<YearEvents> AnnualConferences(IList<conference> conferences)
{
//if list is empty, get out
if (conferences.Count == 0)
{
yield break;
}
var position = 0;
var confExists = GetConf();
while (position < conferences.Count)
{
if (confExists)
{
CreateConferenceTitle(conferences[position].Title);
position++;
}
else
{
yield return
conferences[position].CreateConference();
break;
}
}
position = position % conferences.Count;
var stopPos = conferences.Count - 1;
do
{
var startPos = position;
var nextPos = (position + 1) % conferences.Count;
while (nextPos != stopPos)
{
CreateConferenceTitle(conferences[position].Title);
position = nextPos;
nextPos = (position + 1) % conferences.Count;
}
yield return
conferences[position].CreateConference();
position = nextPos;
} while (position != stopPos);
}
ありがとうございました。私はそれを試して、無限ループに入ります。なぜなら、nextPosは最終的に0にリセットされ、プロセス全体が繰り返されるからです。 – SkyeBoniwell