#c#-3.0
#c #-3.0
Вопрос:
У меня есть таблица данных, в которой есть только одна строка. Но в нем 44 столбца. Моя задача — получить столбцы от 4-й строки до конца.
С этого момента я создал приведенную ниже программу, которая соответствует моим требованиям. (пожалуйста, обратите внимание, что dt — это datatable)
List<decimal&&t; lstDr = new List<decimal&&t;();
Enumerable.Ran&e(0, dt.Columns.Count).ToList().ForEach(i =&&t;
{
if (i &&t; 3)
lstDr.Add(Convert.ToDecimal(dt.Rows[0][i]));
}
);
В программе нет ничего плохого. Работает нормально.
Но я чувствую, что может быть лучший способ ручного управления программой, возможно, с помощью Skip ot Take или takeWhile или любого другого материала.
Я ищу решение получше того, которое я реализовал.
Возможно ли это?
Я использую c # 3.0
Спасибо.
Ответ №1:
Это должно сработать:
List<Decimal&&t; lstDr =
dt.Rows[0].ItemArray
.Skip(3)
.Select(o =&&t; Convert.ToDecimal(o))
.ToList();
Комментарии:
1. Skip доступен только с .Net 3.5
2. @Itay: Он, должно быть, использует framework 3.5, поскольку
Enumerable.Ran&e
иToList
недоступен в версии 3.0.3. ХОРОШО 🙂 об этом не подумал 🙂