Я учу себя, как работать с большими числами в сложных циклах.В основной программе это вызов метода для выполнения какого-либо действия.В примере, над которым я работаю, просто отображается время в секундах.
Когда я работаю, форма переходит к «Не отвечает» и вылетает.Экран выглядит как
Когда программа работает, на экран выводится каждая секунда, позволяющая пользователю увидеть, что программа все еще работает ине отвечает.
Код выглядит следующим образом:
private void BtnStart_Click(object sender, EventArgs e)
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
label1.Text = "Start";
label2.Text = "Started";
dataGridView1.ColumnCount = 1;
dataGridView1.Columns[0].Name = "Number";
for (int index1 = 0; index1 < limit; index1++)
{
for (int index2 = 0; index2 < limit; index2++)
{
for (int index3 = 0; index3 < limit; index3++)
{
if ((stopwatch.ElapsedMilliseconds % 1000) == 0)
{
timeCount++;
AddRowToDG();
}
count++;
}
}
}
label1.Text = "The count is " + count.ToString();
// Stop.
stopwatch.Stop();
Double myTime = stopwatch.ElapsedMilliseconds;
label2.Text = (myTime / 1000).ToString();
}
private void AddRowToDG()
{
dataGridView1.Rows.Add(timeCount.ToString());
}
Если я использую ограничение свыше 150, программа перестанет отвечать.В программировании, которое я фактически буду использовать, будет от 10 до степени 12.
Из проведенного мною исследования есть задачи и потоки, которые можно использовать.Какую методологию мне следует использовать и где я мог бы найти лучший ресурс, чтобы помочь мне сделать выбор в будущем?