I deal with a framework on a daily basis where we sometimes provide methods that accept IEnumerable as a parameter in order to show user
IEnumerable
You will get a new copy of the array if there is one or more element in it. For empty arrays, you might get the same array back, at least in .NET 5:
Console.WriteLine(Object.ReferenceEquals(Array.Empty(), Array.Empty().ToArray()));
This returns true.