從 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中文網其他相關文章!