我有一个对数据表进行分组和选择的方法(以及其他方法)。如果可能,需要将选择动态传递到方法中。
我尝试将Func <...>传递给方法。我读了其他答案,暗示我可能需要创建一个强类型,并可能使用泛型使其正常工作。
var dtDistinct = dtRaw.AsEnumerable()
.GroupBy(g => g.Field<string>("DisplayName").ToString())
.Select(group => new
{
DisplayName = group.Key,
Value = string.Join("_", group.Select(s => s.Field<int>("Value"))),
OrderBy = group.Max(s => s.Field<object>(columnNameToOrderBy).ToString())
})
.ToDataTable();
上面的代码中的所有内容总是如此,除非有时在dtRaw中可能还需要选择其他列。这些其他列并不总是具有相同的名称或数据类型。