Rows
не является строго типизированным - поэтому на каждой итерации будет выполняться приведение, и вы не сможете легко использовать LINQ для объектов на ней. (Я полагаю, что AsEnumerable()
также придется использовать для каждой итерации внутри, но, по крайней мере, вы можете легко использовать ее для других методов LINQ.)
Select
необходимо построить массив, так что, очевидно, там снижение производительности.
Лично я бы использовал AsEnumerable()
, если только вы не хотите изменить таблицу в цикле, и в этом случае тот факт, что Select
создает массив заранее, может на самом деле быть преимуществом.