Мне было интересно, можно ли как-то добиться следующего псевдо-кода. У меня есть 4 списка с индексами разных размеров, поэтому нельзя использовать один и тот же счетчик ссылок. Мне нужно запустить четыре одновременно, чтобы я мог добавлять детали в datagridview в одну строку.За цикл, Несколько счетчиков
for (int m = 0, n = 0, p = 0, q = 0; m <= coords_Count, n <= outer_plf_Count, p <= planet_start_plf_Countt, q <= planet_plf_Count, m++, n++, p++, q++)
{
dataGridView1.Rows.Add(
block_coords_list[m][(int)Coords.X], //Column 1
block_coords_list[m][(int)Coords.Y], //Column 2
block_coords_list[m][(int)Coords.Z], //Column 3
outer_plf_list[n][(int)Outer_plf.Hash], //Column 4
outer_plf_list[n][(int)Outer_plf.X], //Column 5
outer_plf_list[n][(int)Outer_plf.Y], //Column 6
outer_plf_list[n][(int)Outer_plf.Z], //Column 7
outer_plf_list[n][(int)Outer_plf.OrbitName], //Column 8
outer_plf_list[n][(int)Outer_plf.PrefabName], //Column 9
planet_start_plf_list[p][(int)Planet_Start_plf.X], //Column 10
planet_start_plf_list[p][(int)Planet_Start_plf.Y], //Column 11
planet_start_plf_list[p][(int)Planet_Start_plf.Z], //Column 12
planet_start_plf_list[p][(int)Planet_Start_plf.PlanetName], //Column 13
planet_start_plf_list[p][(int)Planet_Start_plf.PlanetBiome], //Column 14
planet_start_plf_list[p][(int)Planet_Start_plf.StartTrue], //Column 15
planet_plf_list[q][(int)Planet_plf.X], //Column 16
planet_plf_list[q][(int)Planet_plf.Y], //Column 17
planet_plf_list[q][(int)Planet_plf.Z], //Column 18
planet_plf_list[q][(int)Planet_plf.PlanetaryBodyName], //Column 19
planet_plf_list[q][(int)Planet_plf.PrefabName]); //Column 20
}
Я DON» Думаю, вам нужны четыре счетчика. Я имею в виду, что вы увеличиваете счетчики одинаково каждый раз, когда вы зацикливаете, так что вы, вероятно, можете обойтись одним. Не хватает ли некоторых деталей вашей реализации? – kondrak
Если я увеличиваю их все с помощью одного и того же счетчика, я получу исключение, потому что некоторые из индексов имеют длину 4 и некоторые из 8 и некоторые 6. В моем datagrid я просто заполняю их пустым пространством, если нет данных –
If индексы имеют разные максимумы, цикл for все равно будет работать до тех пор, пока ** все ** индексы не достигнут своего максимума ... Имея 4 или имеющий 1, ваш код делает то же самое. Вы все равно получите IndexOutOfRange ... Просмотрите свою логику. –