我如何重写这段代码,将一个字符串列表分配给一个字符串对象的集合?

How can I rewrite this code assigning a List of String to a Collection of an Object of String?

我如何重写这段代码以将数组列表的元素一次性分配给对象的元素?

List<string> fileEntries = new List<string>
(Directory.EnumerateFileSystemEntries("/storage/emulated/0/Download"));

FileLogs = new ObservableCollection<FileLog> { };

foreach (string fileName in fileEntries)
{
    FileLogs.Add(new FileLog { File = fileName });
}

你是这个意思吗?:

FileLogs = new ObservableCollection<FileLog>(
    Directory.EnumerateFileSystemEntries("/storage/emulated/0/Download")
        .Select(fileName => new FileLog { File = fileName })
);

它使用在单个语句中接受 IEnumerable<FileLog> 的构造函数创建一个 ObservableCollection<FileLog>

它使用 LINQ Select 方法将从 Directory.EnumerateFileSystemEntries 返回的 IENumerable<string 转换为 IEnumerable<FileLog>