Если честно, даже предположений нет в чём ошибка. Возникает после запуска в одном из двух мест, в зависимости от того, какое из чисел больше
using System;
using System.Collections.Generic;
namespace ConsoleApp20
{
class Program
{
public static void Main(string[] args)
{
Random RandNum = new Random();
bool even;
int MaxEvNum = 0;
int MaxNotEvNum = 0;
int[] AON = new int[200];
foreach (int el in AON)
{
AON[el] = Convert.ToInt32(RandNum.Next(0, 10001));
even = Convert.ToBoolean((AON[el] % 2) == 0);
if ((even == true) && (AON[el] > MaxEvNum))
MaxEvNum = Convert.ToInt32(AON[el]);
else
if ((even == false) && (AON[el] > MaxNotEvNum))
MaxNotEvNum = Convert.ToInt32(AON[el]);
}
if (MaxEvNum > MaxNotEvNum)
foreach (int el in AON)
{
// Здесь выходит ошибка
even = ((AON[el] % 2) == 0);
if (even == false)
{
AON[el] = 0;
}
}
else
foreach (int el in AON)
{
// Или здесь
even = ((AON[el] % 2) == 0);
if (even == true)
{
AON[el] = 0;
}
}
foreach (int el in AON)
Console.WriteLine(AON[el]);
}
}
}
for (int i = 0; i < AON.Length; i++)
{
// Здесь не выходит ошибка
even = ((AON[i] % 2) == 0);
if (even == false)
{
AON[i] = 0;
}
}
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/foreach-in
Сборка персонального компьютера от Artline: умный выбор для современных пользователей