This is easy to do with LINQ:
DataTable sourceTable = dataSet.Tables[0];
foreach (var group in sourceTable.AsEnumerable().GroupBy(row => row.Field<int>("Class")))
{
var newTable = group.CopyToDataTable();
newTable.TableName = "Class" + group.Key;
dataSet.Tables.Add(newTable);
}