使用LINQ从列表中随机记录C#

本文关键字:随机 记录 列表 LINQ 使用 | 更新日期: 2023-09-27 18:15:06

可能重复:
有没有更有效的方法来随机化一组LINQ结果?

我有一张有300张唱片的单子。我只想返回不同的,随机的记录和只有50个记录与LINQ:

myCollection = list.Distinct().Take(50).ToList(); // myCollection is the new list

使用LINQ从列表中随机记录C#

您可以在Take(50)之前随机排序列表。应该是这样的:

myCollection = list.Distinct().OrderBy(s => Guid.NewGuid()).Take(50).ToList();

我认为Guid.NewGuid()的想法没有那么有效,但你可以考虑使用Random生成器。