Что лучше для производительности - PullRequest
0 голосов
/ 31 августа 2011

Может кто-нибудь пролить свет на это для меня.Что было бы лучше для производительности

    foreach (DataRow row in prodStockLevels.Rows)
    {
       string stock = row["stpt_Stock"].ToString();
       textbox.text = stock;
    }

или

    foreach (DataRow row in prodStockLevels.Rows)
    {
       textbox.text = row["stpt_Stock"].ToString();
    }

Будет ли большая разница, даже если данные огромны.Просто хочу знать, лучше ли это для производительности, если данные передаются напрямую.

Ответы [ 3 ]

4 голосов
/ 31 августа 2011

Не будет заметной разницы в эффективности - я сомневаюсь, что она даже измерима , если она вообще существует .

Тот факт, что вы назначаете локальную переменную, в основном не имеет значения. Значение выражения row["stpt_Stock"].ToString() попадет в стек в любом случае. Разница лишь в том, есть ли у этого слота стека имя или нет.

В отладчике он может иметь крошечную, но практически измеримую разницу, поскольку может иметь некоторые дополнительные последствия - но , конечно, недостаточно, чтобы беспокоиться.

Думаю, меня больше беспокоит тот факт, что вы неоднократно присваиваете значения одному и тому же свойству textBox.Text - на самом деле актуальным будет только последнее. Тебе было бы лучше просто взять последнюю строку ...

1 голос
/ 31 августа 2011

Без разницы.
Следующее будет быстрее, чем оба:

 textbox.text = prodStockLevels.Rows.Last()["stpt_Stock"].ToString();
1 голос
/ 31 августа 2011

Без разницы. Вероятно, тот же код после компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...