Yes, this is a correct way to take first N rows from your data table. Use CopyToDataTable extension to create new data table from query result:
DataTable dt = dtResult.AsEnumerable()
.Take(n)
.CopyToDataTable();