c# for와 foreach 성능 비교

foreach는 편하지만 느리다. 다섯 번 평균하니 for가 19, foreach가 24 나왔다. 그렇다고 for가 능사는 아니다. dictionary에서 루프를 돌리려면 foreach를 써야 한다.

List<int> List1 = new();

private void Form1_Load(object sender, EventArgs e)
{
    for (int i = 0; i < 10000000; i++)
    {
        List1.Add(i);
    }
}

private void Form1_Click(object sender, EventArgs e)
{
    Stopwatch stopwatch = new();

    long long1, long2;

    stopwatch.Start();

    for (int i = 0; i < List1.Count; i++)
    {
        if (i == 0)
        {
            //
        }
    }

    long1 = stopwatch.ElapsedMilliseconds;

    stopwatch.Restart();

    foreach (var item in List1)
    {
        if (item == 0)
        {
            //
        }
    }

    long2 = stopwatch.ElapsedMilliseconds;

    Text = long1.ToString() + " " + long2.ToString();
}