I know `DataSet` and `DataTable` are **classes** thus they must be **reference** **types**.

But whenever I pass them in any method, I have to `return ds` or `dt` to get them filled. 

Example:

```
DataSet ds = new DataSet();
FillDataSet(ds); //This get data from database

```

This will not fill my dataset but below one will.

```
DataSet ds = new DataSet();
ds = FillDataSet(ds); //This get data from database

```

I am unable to understand, if I am sending an `object` of `DataSet` `class` then it should be filled by reference. 

Let say `FillDataSet(ds)` gets data from database.