在C#中生成随机对

Sru*_*uly 1 c# random performance combinations

我的数据库中有一张表,其中包含一个人员列表.我需要每天创建一个随机好友列表.

这个想法是每天每个人都与当天不同的随机人物配对.

由于桌子可能会变得非常大,我想知道做这样的事情最好的方法是什么?

我想到了2个想法,但我对它们的表现并不那么肯定.

1)我使用随机数生成器随机选择两个ID.问题是我必须经常确保数字还没有被调用,当我接近列表的末尾时,这可能变得非常慢.

2)在列表中与他们下面的人一起开始每一个人,然后每天向下移动一个,直到你到达底部,然后我回到顶部.

还有其他想法吗?

谢谢

Fre*_*örk 7

也许你可以创建一个随机对表进行排序的查询,然后从上到下配对人.第一个条目与第二个条目配对,第三个条目与第四个条目配对,依此类推.

SQL Server示例:

SELECT * FROM Table ORDER BY NEWID()
Run Code Online (Sandbox Code Playgroud)