Здравствуйте, eao197, Вы писали:
E>PPPS. Надеюсь, что 90% императивных программистов все-таки пишут так:
E>E>for (int i = 0; i < array1.Length; i++)
E>{
E> if (i != 0)
E> result += ", ";
E> result += array1[i];
E>}
E>
Надеюсь что любой грамотный программист напишет вот так:
var sb = new StringBuilder();
for (int i = 0; i < array1.Length; i++)
{
if (i != 0)
sb.Append(", ");
sb.Append(array1[i]);
}
result = sb.ToString();
Кроме того за все в этой жизни надо платить, в том числе и за лаконичность LINQ, вот результаты конкатенации массива чисел из 10000 элементов:
Способ: императивный
Расход памяти: 1200 kb
Время: 1600 ms
Способ: LINQ
Расход памяти: 2400 kb
Время: 860 ms
Способ: StringBuilder
Расход памяти: 580 kb
Время:
4 ms
Интересно что Linq отаработал в два раза быстрее и сожрал в два раза больше памяти, чем простой цикл. Ну а последний результат, как говорится без коментариев