Sure, you can use collections. Consider using generic collections rather than the older Array.
If you only need to cycle through all of the cars, then a list works well.
Code:
var list = new List<Car>();
list.Add(new Car());
list.Add(new Car());
foreach(var car in list)
{
car.DoSomething();
}
If you need to access individual cars by a key, use a dictionary
Code:
var dict = new Dictionary<int, Car>();
dict.Add(1, new Car());
dict.Add(2, new Car());
var car2 = dict[2];
// Dictionaries also allow you to access the collection like a list
foreach(var car in dict.Values)
{
car.DoSomething();
}