【问题标题】:Iterate through List and add to class property retrospectively遍历 List 并追溯添加到类属性
【发布时间】:2022-12-08 10:12:44
【问题描述】:

我有一个要发送通知的时间表。我想在整个模型中均匀分布一个列表,以确保我们有最好的影响力。

我想遍历它从数据库中获取的项目列表,并将它们添加到已指定类的时间段中。

一旦到达指定时间范围的末尾,它将循环回到起点并继续这样做,直到所有用户都分配了一个时隙。

我为时隙创建了以下模型:

public class Slots 
{
    public List<string> NineAM { get; set; } = default!;

    public List<string> TenAM { get; set; } = default!;

    public List<string> OnePM { get; set; } = default!;

    public List<string> TwoPM { get; set; } = default!;
}

它存储字符串的原因是为了将通知发送到的电子邮件。基本上我可以检查他们是否有任何物品,然后相应地发货。

我不确定如何处理 for 循环以便将它们平均分配出去,但我目前的代码是:

var users = _context.Users.ToListAsync();

users.ForEach(user => 
{
   // Add first user to 9AM
   // Add seconds user to 10AM
  // Add third user to 1PM
   // Add fourth user to 2PM
   // Add fifth user to 9AM
});

【问题讨论】:

    标签: c# .net entity-framework


    【解决方案1】:

    您有 4 个槽,因此将您的用户分成四组,并将他们添加到适当的槽中。您可以使用 % 运算符来查看它们进入了哪个插槽。

    foreach(var user in users)
    {
        switch (users.IndexOf(user) % 4)
        {
            case 0:
               //add to NineAM
               break;
            case 1:
               //add to TenAM
               break;
            case 2:
               //add to OnePM
               break;
            case 3:
               //add to TwoPM
               break;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-29
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      • 2019-07-15
      相关资源
      最近更新 更多