They take more or less the same time to execute, but new List<T>(myEnumerable) runs a little faster.
myEnumerable.ToList() will do a new List<T>(myEnumerable) under the hood, but first checks to see if the collection is null and throws an exception, if any. If you know that myEnumerable is not null, you can use ToList ().
But, in my opinion, write the code that is easiest to read. This is a micro optimization, which you should not spend too much time on.
source share