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

时间:2018-01-09 10:52:30

标签: c#

是否有可能将FileInfo转换为IEnumerable<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;

3 个答案:

答案 0 :(得分:7)

IEnumerable<FileInfo> Y = new[] { latestFile };

或只是(如果您对将变量输入为数组感到高兴)

var Y = new[] { latestFile };

答案 1 :(得分:6)

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

IEnumerable<FileInfo> Y = new [] { latestFile };

或者使用Take(1)代替FirstOrDefault

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

答案 2 :(得分:4)

创建一个新列表?

var newList = new List<FileInfo>();
newList.Add(latestFile);
IEnumerable<FileInfo> Y = newList;