为列表中的每个项目创建一个新对象

闪烁

我有下课

public class Photo
{
    public int ShowOrder { get; set; }
    public string Format { get; set; }
    public byte[] Image { get; set; }
}

我有一些硬编码的代码行,可从文件夹加载图像并将其添加到类型为变量的变量中 List<Photo>

var Photos = new List<Photo>()
{
    new Photo() { ShowOrder = 1, Image = File.ReadAllBytes("D:\\Sample\\pic1.jpg")), Format = "jpg" },
    new Photo() { ShowOrder = 2, Image = File.ReadAllBytes("D:\\Sample\\pic2.png")), Format = "png" },
    new Photo() { ShowOrder = 3, Image = File.ReadAllBytes("D:\\Sample\\pic3.jpg")), Format = "jpg" },
    new Photo() { ShowOrder = 4, Image = File.ReadAllBytes("D:\\Sample\\pic4.gif")), Format = "gif" }
}

我想使该部分动态化,以便将所有照片加载到文件夹中,而不是硬编码。

我以为我可以使用ForEach功能,但不知道如何使用。有没有办法做到这一点LINQ

阿里·巴拉米(Ali Bahrami)

您可以尝试下面的代码,它通过ext文件过滤文件,它是LINQ;

// directory path which you are going to list the image files
var sourceDir = "directory path";

// temp variable for counting file order
int fileOrder = 0;

// list of allowed file extentions which the code should find
var allowedExtensions = new[] {
 ".jpg",
 ".png",
 ".gif",
 ".bmp",
 ".jpeg"
};

// find all allowed extention files and append them into a list of Photo class
var photos = Directory.GetFiles(sourceDir)
                      .Where(file => allowedExtensions.Any(file.ToLower().EndsWith))
                      .Select(imageFile => new Photo()
                      {
                          ShowOrder = ++fileOrder,
                          Format = imageFile.Substring(imageFile.LastIndexOf(".")),
                          Image = File.ReadAllBytes(imageFile)
                      })
                      .ToList();

编辑:

我用的是GetFileExtension而不是SubString

Directory.GetFiles(sourceDir))
                    .Where(file => allowedExtensions.Any(file.ToLower().EndsWith))
                    .Select(imageFile => new Photo()
                    {
                        ShowOrder = ++fileOrder,
                        Image = File.ReadAllBytes(imageFile),
                        Format = Path.GetExtension(imageFile)
                    }
                    ).ToList()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为列表中项目的每个绑定设置一个新变量

来自分类Dev

为Android上另一个表中的每个项目创建新表

来自分类Dev

为列表中的每个项目创建对象

来自分类Dev

C#WPF为列表中的每个对象动态创建一个GUI元素

来自分类Dev

为列表中的每个项目分配一个特定的 ID,并生成一个具有重复 ID 的新列表

来自分类Dev

为创建一个对象列表

来自分类Dev

在Visual C#中为列表中的每个对象创建一个图片框和标签

来自分类Dev

在Visual C#中为列表中的每个对象创建一个图片框和标签

来自分类Dev

为 Wordpress 中的每个新帖子自动创建一个新的 Mailchimp 邮件列表(Mailchimp API 3.0+)

来自分类Dev

为每个项目创建一个新的存储库是最佳实践吗?

来自分类Dev

为列表列表中的每个列表创建一个df

来自分类Dev

Python:为列表中的每个元素获取一个没有该元素的新列表

来自分类Dev

为每个列表值添加一个项目

来自分类Dev

根据当前数组中每个项目的第一个元素创建新数组

来自分类Dev

为每个新节点创建一个ID号

来自分类Dev

使用每个数组创建一个新对象

来自分类Dev

为列表中的每个项目分配一个变量[Python]

来自分类Dev

为 List<Object> 中的每个项目创建一个 TextBlock

来自分类Dev

为另一个表中的每个元素创建一个包含一列的新表

来自分类Dev

在另一个表中为每个用户创建新记录

来自分类Dev

使用Redux为ReactJS中的每个数据块创建一个新的div

来自分类Dev

如何在 JavaScript 中为来自 JSON API 的每个响应创建一个新的 div?

来自分类Dev

Python:为列表中的每个对象修改一个属性

来自分类Dev

循环为列表中的每个对象添加一个json

来自分类Dev

为列表中的每个数据框创建一个小表

来自分类Dev

为列表中的每个数据框创建一个小表

来自分类Dev

为datagridview中的每个单元格创建一个列表

来自分类Dev

Python 为 DataFrame 中的每个组创建一个字典列表

来自分类Dev

Javascript - 为每个循环创建一个对象并在数组中递增计数

Related 相关文章

  1. 1

    为列表中项目的每个绑定设置一个新变量

  2. 2

    为Android上另一个表中的每个项目创建新表

  3. 3

    为列表中的每个项目创建对象

  4. 4

    C#WPF为列表中的每个对象动态创建一个GUI元素

  5. 5

    为列表中的每个项目分配一个特定的 ID,并生成一个具有重复 ID 的新列表

  6. 6

    为创建一个对象列表

  7. 7

    在Visual C#中为列表中的每个对象创建一个图片框和标签

  8. 8

    在Visual C#中为列表中的每个对象创建一个图片框和标签

  9. 9

    为 Wordpress 中的每个新帖子自动创建一个新的 Mailchimp 邮件列表(Mailchimp API 3.0+)

  10. 10

    为每个项目创建一个新的存储库是最佳实践吗?

  11. 11

    为列表列表中的每个列表创建一个df

  12. 12

    Python:为列表中的每个元素获取一个没有该元素的新列表

  13. 13

    为每个列表值添加一个项目

  14. 14

    根据当前数组中每个项目的第一个元素创建新数组

  15. 15

    为每个新节点创建一个ID号

  16. 16

    使用每个数组创建一个新对象

  17. 17

    为列表中的每个项目分配一个变量[Python]

  18. 18

    为 List<Object> 中的每个项目创建一个 TextBlock

  19. 19

    为另一个表中的每个元素创建一个包含一列的新表

  20. 20

    在另一个表中为每个用户创建新记录

  21. 21

    使用Redux为ReactJS中的每个数据块创建一个新的div

  22. 22

    如何在 JavaScript 中为来自 JSON API 的每个响应创建一个新的 div?

  23. 23

    Python:为列表中的每个对象修改一个属性

  24. 24

    循环为列表中的每个对象添加一个json

  25. 25

    为列表中的每个数据框创建一个小表

  26. 26

    为列表中的每个数据框创建一个小表

  27. 27

    为datagridview中的每个单元格创建一个列表

  28. 28

    Python 为 DataFrame 中的每个组创建一个字典列表

  29. 29

    Javascript - 为每个循环创建一个对象并在数组中递增计数

热门标签

归档