Array.Reverse()与Enumerable.Reverse <TSource>()

mbr*_*nyc 6 .net linq

我有一个单维数组的项目声明和初始化为:

string[] SubDirectorylist = Directory.GetDirectories(TargetDirectory);
Run Code Online (Sandbox Code Playgroud)

我想扭转成员并找到Enumerable.Reverse<TSource>().

LINQ的反向实现有哪些优势(如果有的话)Array.Reverse()

And*_*rey 10

除了丹尼尔所说的System.Linq.Enumerable.Reverse()实际上创建了一个副本,然后从头到尾迭代它,何时System.Array.Reverse()进行转换.

  • @mbrownnyc好,MSDN没有明确声明`IEnumerable.Reverse`创建了一个副本,因为它对于数组来说并不是绝对必要的.我通过反编译程序集找到了它. (2认同)

Dan*_*rth 6

System.Linq.Enumerable.Reverse()工作在实现所有类IEnumerable,其中为System.Array.Reverse()仅适用于数组.如果你知道你有一个数组,使用没有任何问题System.Array.Reverse().