I'm not sure why you want to mix objects like this, but you can use an ArrayList for this. Example below:
List<ArrayList> data = new List<ArrayList>(); data.Add(new ArrayList(){12, "12"}); //Added number and string in ArrayList data.Add(new ArrayList() {"12", new object() }); //Added string and object in ArrayList
Update
In your case, using a list of arrays as shown below might be better
var data = new ArrayList(); data.Add(new List<object>()); data.Add(new List<string>()); data.Add(new List<int>());
source share