using System.Collections;
using System.Collections.Generic;
using System.Data.DataSetExtensions;
public static void Main()
DataTable table = new DataTable();
table.Columns.Add("col1", typeof(int));
table.Columns.Add("col2", typeof(int));
table.Columns.Add("col3", typeof(int));
table.Columns.Add("col4", typeof(double));
table.Rows.Add( 1,2,1,1.5);
table.Rows.Add( 1,1,1,1.8);
table.Rows.Add( 1,2,1,2.5);
table.Rows.Add( 1,1,1,3);
table.Rows.Add( 3,1,4,5);
var result = table.AsEnumerable()
c2 =r.Field<int>("col2"),
c3 =r.Field<int>("col3"),
c4 =r.Field<double>("col4")
.GroupBy(g=> new {g.c1, g.c2, g.c3})