C# コードに問題があります... VS2010 ではコンパイルできません :(
これが私がやろうとしていることです:
bool listNotNeeded;
if(listNotNeeded && !myList.Any()) //I've tried other ways of verbalizing
{
myList.Clear();
}
コンパイルを拒否します...エラーが発生します:InvalidOperationException unhandled。シーケンスに要素が含まれていません。リストがすでに空で、リストに入力するコードの他の部分がある場合は、ここに到達することはありません。リスト人口コードは正常に動作し、すでにコンパイルおよびテストされています...この部分だけが何らかの理由で壊れました。
編集:不要な try-catch を使用せずにコンパイルしたり、可能であればスターター値でリストを初期化したりしたいと思います。
private void UpdateRocket()
{
if (rocketFlying)
{
Vector2 gravity = new Vector2(0, 1);
rocketDirection += gravity / 9.8f;
rocketAngle = (float)Math.Atan2(rocketDirection.X, -rocketDirection.Y);
rocketPosition += rocketDirection;
Vector2 smokePos = rocketPosition;
smokePos.X += randomizer.Next(10) - 5;
smokePos.Y += randomizer.Next(10) - 5;
smokeList.Add(smokePos);
if (smokeList.Count > 20)
smokeList.Remove(smokeList.First<Vector2>());
}
if (!rocketFlying)
if (smokeList.Count > 0)
smokeList.Remove(smokeList.First<Vector2>());
if (rocketPosition.X < 0 || rocketPosition.X > screenWidth || rocketPosition.Y > screenHeight)
rocketFlying = false;
}