gpt4 book ai didi

c# - 根据百分比从 IEnumerable 中选择行

转载 作者:太空狗 更新时间:2023-10-30 00:55:08 24 4
gpt4 key购买 nike

我目前有一个每 5 分钟运行一次的 Windows 服务。该代码从数据库中选择行进行处理。有一个上限(允许选择的最大行数),因此选择的行数可以是 0-100 之间的任何值。

我希望根据随机百分比选择对这些行进行一些处理。

  • 任务 1 25%
  • 任务 2 50%
  • 任务 3 100%

为简单起见,我们假设服务选择 100 行,然后随机选择的 25 行将运行任务 1,随机选择的 50 行将运行任务 2,所有行将运行任务 3。

我目前的代码看起来像这样:

var rows = repository.GetRows(100);

foreach(var row in rows)
{
task1.Run(row);
task2.Run(row);
task3.Run(row);
}

这将在所有行上运行所有三个任务。我将如何只选择分配给每项任务的百分比?

最佳答案

可能有点土气......

var rows = repository.GetRows(100);

rows.OrderBy(Guid.NewGuid()).Take(25).ToList().ForEach(m => task1.Run(m));
rows.OrderBy(Guid.NewGuid()).Take(50).ToList().ForEach(m => task2.Run(m));
rows.ToList().ForEach(m => task3.Run(m));

关于c# - 根据百分比从 IEnumerable 中选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10505428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com