Код выполняется неверно - C#
Формулировка задачи:
Есть класс танк который передает случайное действие. Эти действия записываются в словарь. При отладки с точкой останова код работает правильно и действию записываются. Но когда запускаю без остановки в словарь записываются всегда одинаковые действия.В чем может быть причина?
private List<ITank> tanks = new List<ITank>(); var tankActionByTanks = tanks.Select(t => new KeyValuePair<ITank, Action>(t, t.GetAction(field))).ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
class Tank : ITank
{
public Action GetAction(Field field)
{
Random random = new Random();
int value = random.Next(5);
if (value == 1)
return Action.Back;
else
if (value == 2)
return Action.TurnLeft;
else
if (value == 3)
return Action.TurnRight;
else
if (value == 4)
return Action.Forward;
else
return Action.Fire;
}
}Решение задачи: «Код выполняется неверно»
textual
Листинг программы
Random random = new Random();