csharp use list as a paramter

Code Example - csharp use list as a paramter

                
                        You should always avoid using List<T> as a parameter.
Not only because this pattern reduces the opportunities of the caller to store the data
in a different kind of collection,but also the caller has to convert the data into a 
List first.Converting an IEnumerable into a List costs O(n) complexity which
is absolutely unneccessary. And it also creates a new object.
TL;DR you should always use a proper interface like IEnumerable or IQueryable based 
on what do you want to do with your collection. ;)

In your case:

public void foo(IEnumerable<DateTime> dateTimes)
{
}