A simple alternative would be a for loop. For example consider the following
System.Collections.Generic.List<object> StockList = new System.Collections.Generic.List<object>();
for (int counter = 0; counter < ds.Tables[0].Rows.Count; counter++) {
StockList.Add(new {
BrandID = ds.Tables[0].Rows[counter]["BrandID"],
BrandName = ds.Tables[0].Rows[counter]["BrandName"]
});
}