使用Linq从DataTable单元格修剪空格

时间:2012-08-24 14:32:07

标签: linq

这段代码用于修剪每个数据行的每个数据行中的所有空格。 我怎样才能得到这段代码:

var dataRows = dataTable.AsEnumerable();
foreach (var row in dataRows)
{
     var cellList = row.ItemArray.ToList();
     row.ItemArray = cellList.Select(x => x.ToString().Trim()).ToArray();
}

进入一行代码,所以我不必遍历每一行?像这样的东西,但它不起作用:

dataTable.AsEnumerable().Select(y => y.ItemArray.ToList()).Select(x => x.ToString().Trim());

3 个答案:

答案 0 :(得分:2)

如果你喜欢LINQish stype:

  dataTable.AsEnumerable().ToList()
        .ForEach(row =>
        {
            var cellList = row.ItemArray.ToList();
            row.ItemArray = cellList.Select(x => x.ToString().Trim()).ToArray();
        });

答案 1 :(得分:1)

使用linq,您最终无法更改项目值,您应该为循环(或foreach)运行以更改字段值。

答案 2 :(得分:1)

例如

var iq = obj from dataTable.asEnumerable() select new{
PersonName = a.Field<string>("PersonName"),
PersonID = a.Field<decimal>("PersonID"),
ParticipantString = a.Field<string>("DisplayString"),
PersonUserName = d.Field<string>("UserName")
}