以下语句的等效c#代码是什么?

tes*_*zoo 2 c# linq

var files = from file in  my.Computer.FileSystem.GetFiles(CurDir()) orderby file select file;
Run Code Online (Sandbox Code Playgroud)

Mic*_*tta 9

var files = from file in Directory.GetFiles(Environment.CurrentDirectory)
            orderby file
            select file;
Run Code Online (Sandbox Code Playgroud)

编辑:如果您使用.Net 4.0,请使用Gabe答案中的代码; 他提到的原因更好.如果您使用3.5,请使用此选项.


Gab*_*abe 5

这是较新版本的.Net的替代方案:

var files = from file in Directory.EnumerateFiles(Environment.CurrentDirectory)
            orderby file
            select file;
Run Code Online (Sandbox Code Playgroud)

一般来说,最好使用EnumerateFiles而不是GetFiles因为它在返回之前不会创建整个字符串数组.这不仅节省了数组的创建,而且允许您在读取第一个文件名后立即开始处理,而不必等到读取最后一个文件名.

你能想到的GetFiles()作为EnumerateFiles().ToArray().

  • 它是相似的,但不一样. (4认同)