The above answer cent per cent rigth
DataTable is a single Table containing row and columns
and DataSet is kind of a container of DataTables, which can have many DataTables, and each DataTable is DataSet can be identified by its zero-based index or string name.
DataSet ds;
ds.Tebles[0]
or
ds.Tables["tablename"]