我正在尝试使用Select
和toArray
将DataTable转换为数组我执行了此操作:
List<int> LevelsArray = CardServiceDetailsDt.Select("LEVEL_ID").ToList<int>();
但是会产生错误
'System.Data.DataRow[]' does not contain a definition for 'ToArray' and the best extension method overload 'System.Linq.Enumerable.ToArray<TSource>(System.Collections.Generic.IEnumerable<TSource>)' has some invalid arguments
答案 0 :(得分:1)
Select
会为您过滤行,但看起来您想要获取一列中的所有值,因此您无法使用Select
,请尝试相反:
var rows = CardServiceDetailsDt.AsEnumerable()
.Select(row=>row.Field<long>("LEVEL_ID")).ToArray();
答案 1 :(得分:0)
您可以使用AsEnumerable()
来调用ToArray()
并使用Field来获取数据表的列值。
ObjDt.AsEnumerable().Select
(r => r.Field<string>("LEVEL_ID")).ToArray();
答案 2 :(得分:0)
var array = CardServiceDetailsDt.Rows[i]
.ItemArray
.Select(x => x.ToString())
.ToArray();
我是该行的索引。