using System.Data.DataSetExtensions;
public static void Main()
DataTable dt = new DataTable();
dt.Columns.Add("Codigo");
dt.Columns.Add("Descricao");
dt.Columns.Add("Emgalagem");
dt.Columns.Add("Separado");
dt.Rows.Add(1010,"Celular", 12,1);
dt.Rows.Add(1010,"Celular", 12,2);
dt.Rows.Add(1010,"Celular", 12,3);
dt.Rows.Add(2020,"Tablet", 8,1);
dt.Rows.Add(2020,"Tablet", 8,2);
dt.Rows.Add(2020,"Tablet", 8,3);
dt.Rows.Add(2020,"Tablet", 8,4);
dt.Rows.Add(3030,"Laptop", 6,1);
var result = from tab in dt.AsEnumerable()
group tab by tab["Codigo"] into groupDt
Max=groupDt.Max((r)=> int.Parse(r["Separado"].ToString()))
foreach(var item in result)
Console.WriteLine(item.Codigo + ": " +item.Max);