3

このコードは、各データ行の各データセル内のすべてのスペースを削除するように機能します。このコードを取得するにはどうすればよいですか:

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

各行をループする必要がないように、1 行のコードにしますか? このようなものですが、うまくいきません:

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

3 に答える 3

2

LINQish stype が好きなら:

  dataTable.AsEnumerable().ToList()
        .ForEach(row =>
        {
            var cellList = row.ItemArray.ToList();
            row.ItemArray = cellList.Select(x => x.ToString().Trim()).ToArray();
        });
于 2012-08-24T14:44:29.170 に答える
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")
}
于 2012-08-24T14:42:10.100 に答える
1

linq では項目の値を変更することはできませんが、最後に for ループ (または foreach) を実行してフィールドの値を変更する必要があります。

于 2012-08-24T14:38:20.130 に答える