是否有可能将`FileInfo`转换为`IEnumerable <FileInfo>`

use*_*018 3 c#

是否有任何可能转换FileInfoIEnumerable<FileInfo>,因为我需要发送IEnumerable<FileInfo>作为参数传递给外部库?

var latestFile = new DirectoryInfo(filePath).EnumerateFiles(fileType).Select(fl =>
    {
        fl.Refresh();
        return fl;
    }).OrderByDescending(fi => fi.LastWriteTimeUtc).FirstOrDefault();

IEnumerable<FileInfo> Y = latestFile;
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 7

IEnumerable<FileInfo> Y = new[] { latestFile };
Run Code Online (Sandbox Code Playgroud)

或者只是(如果你对变量作为数组输入感到高兴)

var Y = new[] { latestFile };
Run Code Online (Sandbox Code Playgroud)


Tit*_*mir 6

您可以创建一个数组,这将是一个可枚举的:

IEnumerable<FileInfo> Y = new [] { latestFile };
Run Code Online (Sandbox Code Playgroud)

或者Take(1)改为使用FirstOrDefault

var latestFile = new DirectoryInfo(filePath).EnumerateFiles(fileType).Select(fl =>
                {
                    fl.Refresh();
                    return fl;
                }).OrderByDescending(fi => fi.LastWriteTimeUtc).Take(1);
Run Code Online (Sandbox Code Playgroud)

  • 哦,我喜欢`Take(1)`方法的简单性 (3认同)