using System.Linq;
IList<object> lst = dsList.Tables[0].Rows.OfType<DataRow>().Select(x => x.ItemArray).ToList();
Просто используя Select() метод System.Link на Rows
в коллекции table
. Это метод расширения, который можно вызывать на любом IEnumerable<T>
(также на любом объекте, который реализует этот интерфейс напрямую или через наследование).
Если вы не имеете IEnumerable<T>
для запроса, а просто IEnumerable
(не общего), вы можете использовать трюк вызова .OfType() на нем, который возвращает общий экземпляр.
Если вы хотите выровнять перечислимое число, вы можете использовать SelectMany().
Если вы застряли на pre-linq .NET, у вас должен быть цикл.
Всегда есть лучший способ сделать что-либо. Но вам нужно быть более конкретным. Должен ли желаемый код быть более элегантным? Или это о производительности? –
Это больше о производительности, и я использую .NET 4.0 – Algi
. Тогда нет «лучшего» способа. –