c# 对一个数组进行随机排序

 private readonly Random _random = new Random();

    #region 对一个数组进行随机排序
    ///


    /// 对一个数组进行随机排序
    ///

    /// 数组的类型
    /// 需要随机排序的数组
    public void GetRandomArray(T[] arr)
    {
        //对数组进行随机排序的算法:随机选择两个位置,将两个位置上的值交换
        //交换的次数,这里使用数组的长度作为交换次数
        int count = arr.Length;
        //开始交换
        for (int i = 0; i < count; i++)
        {
            //生成两个随机数位置
            int randomNum1 = GetRandomInt(0, arr.Length);
            int randomNum2 = GetRandomInt(0, arr.Length);
            //定义临时变量
            T temp;
            //交换两个随机数位置的值
            temp = arr[randomNum1];
            arr[randomNum1] = arr[randomNum2];
            arr[randomNum2] = temp;
        }
    }
    #endregion


    #region 生成一个指定范围的随机整数
    ///


    /// 生成一个指定范围的随机整数,该随机数范围包括最小值,但不包括最大值
    ///

    /// 最小值
    /// 最大值
    public int GetRandomInt(int minNum, int maxNum)
    {
        return this._random.Next(minNum, maxNum);
    }
    #endregion

你可能感兴趣的:(数组随机)