从 C# 列表中随机选择 N 个项目
本文演示了如何使用 LINQ 从 C# List<T>
中高效选择项目的随机子集。 最有效的方法是结合OrderBy
和Take
。
代码如下:
<code class="language-csharp">using System; using System.Collections.Generic; using System.Linq; public class RandomElementSelector { public static void Main(string[] args) { // Sample list of strings List<string> names = new List<string>() { "John", "Mary", "Bob", "Alice", "Tom", "Sarah" }; // Select 3 random elements var randomSelection = names.OrderBy(x => Guid.NewGuid()).Take(3); // Output the results Console.WriteLine("Randomly selected elements:"); foreach (string name in randomSelection) { Console.WriteLine(name); } } }</code>
此代码的工作原理如下:
OrderBy(x => Guid.NewGuid())
:通过为每个元素分配一个唯一的、随机生成的 GUID 作为排序键来对列表进行打乱。
Take(3)
:这会从打乱的列表中选择前三个元素,有效地为您提供三个随机选择的项目。
这种方法提供了一种简洁有效的方法来从列表中获取随机子集,而无需实现复杂的自定义随机化逻辑。
以上是如何从 C# 列表中选择 N 个随机元素?的详细内容。更多信息请关注PHP中文网其他相关文章!