首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在c#中随机重新排列项目列表的最佳方法是什么?

在C#中,随机重新排列项目列表的最佳方法是使用Fisher-Yates Shuffle算法。以下是一个简单的示例代码:

代码语言:csharp
复制
using System;

public static class RandomExtensions
{
    public static void Shuffle<T>(this Random rng, T[] array)
    {
        int n = array.Length;
        while (n > 1)
        {
            int k = rng.Next(n--);
            T temp = array[n];
            array[n] = array[k];
            array[k] = temp;
        }
    }
}

public class Program
{
    public static void Main()
    {
        int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
        Random rng = new Random();
        rng.Shuffle(array);
        Console.WriteLine(string.Join(", ", array));
    }
}

在这个示例中,我们定义了一个扩展方法Shuffle,它接受一个随机数生成器和一个泛型数组作为参数。该方法使用Fisher-Yates Shuffle算法对数组进行随机重新排列。

Main方法中,我们创建了一个包含1到10的整数数组,并使用Random类创建一个随机数生成器。然后,我们调用Shuffle方法对数组进行随机重新排列,并将结果打印到控制台上。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

10分0秒

如何云上远程调试Nginx源码?

7分31秒

人工智能强化学习玩转贪吃蛇

2分29秒

基于实时模型强化学习的无人机自主导航

1分30秒

基于强化学习协助机器人系统在多个操纵器之间负载均衡。

2分7秒

基于深度强化学习的机械臂位置感知抓取任务

领券