【问题标题】:How do I select random records while looping through the collection?循环遍历集合时如何选择随机记录?
【发布时间】:2021-06-29 11:53:33
【问题描述】:
foreach (var n in BooksList)
            {
                for (int t=0; t< ReadersList.Count; t++)
                {
                    BooksReadersList.Add(new BooksReaders() { BookID= n.BookID, ReaderID= Readers[t].ReaderID});
                }
            }

现在如果我遍历它没关系,可以工作,但我想做两件事

  1. 内循环只能运行 3 次
  2. 每次内部都应该选择一个随机的 ReaderID 而不是顺序的,例如Readers 中有 10 条记录,即 1,2,3,4,5,6,7,8,9,10 条主记录。因此,其中内循环应随机选择,即 3,10,7,4,2,1,4。

【问题讨论】:

  • 先随机化列表。添加三个项目后跳出循环。
  • @LarsTech:跳出循环?方法?抱歉没收到。
  • 当它击中计数器 3 时我已经完成了,但是如何选择随机。
  • 你想从 BooksList 中随机抽取 3 条记录吗?

标签: c# asp.net list loops for-loop


【解决方案1】:

您可以使用Random 来查看列表中的随机读者

Random random = new Random();
Reader reader = readerList[random.Next(0, readerList.Count - 1)];

示例: https://dotnetfiddle.net/ZVDnuF

【讨论】:

  • 我同意,但我已经看到它在同一次迭代中重复了这个数字。
  • 这段代码不会重复读者,你是在说书吗?如果是,请移除内部 for
猜你喜欢
  • 2023-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-16
  • 2016-07-16
  • 2014-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多