我想从文件列表初始化图像列表。 MyImage的构造函数接受一个文件。

有没有更短的方法来初始化图像列表?也许使用LINQ?

public List<MyImage> GetImages(string path)
{
    List<MyImage> images = new List<MyImage>();
    DirectoryInfo di = new DirectoryInfo(path);
    FileInfo[] files = di.GetFiles();

    // is there a shorter way to do this?
    foreach (FileInfo fi in files)
    {
        MyImage image = new MyImage(fi);
        images.Add(image);
    }

    return images;
}

最佳答案

您可以返回IEnumerable<MyImage>并转换您的代码,例如

public IEnumerable<MyImage> GetImages(string path)
{
    DirectoryInfo di = new DirectoryInfo(path);
    FileInfo[] files = di.GetFiles();

    return files.Select(fi => new ImageUpload(fi));
}


请注意,您仍然可以返回List<MyImage>,如果是这种情况,只需应用.ToList()

关于c# - 从第二个列表初始化一个列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57797430/

10-10 19:19