GetRandomArray不知道怎么调用

喜洋洋和灰太狼 2018-05-08 08:31:04
r.GetRandomArray<T>(string[] sArray); //这个怎么调用啊,两个参数不知道怎么写,新手,谢谢。

            string[] sArray = AllUrl.Split(new char[] {'\n' });
SufeiUtil.RandomHelper r = new SufeiUtil.RandomHelper();
r.GetRandomArray<T>(string[] sArray); //这个怎么调用啊,两个参数不知道怎么写,新手,谢谢。


--------------------------------------------------------------

        /// <summary>
/// 对一个数组进行随机排序
/// </summary>
/// <typeparam name="T">数组的类型</typeparam>
/// <param name="arr">需要随机排序的数组</param>
public void GetRandomArray<T>(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;
}
}

...全文
400 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢! GetRandomArray<string>(sArray);
liwen9016 2018-05-08
  • 打赏
  • 举报
回复
你粘的代码不全,少了GetRandomInt()这个参数,我给你补上了。调用方法我直接给你上代码了。这是泛型方法,自己多查查,好多相关资料。
        public static void GetRandomArray<T>(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;
            }
        }

        private static int  GetRandomInt(int p1, int p2)
        {
            return new Random().Next(p1, p2);
        }

        static void Main(string[] args)
        {

            int[] tmp = new int[5]{1,2,3,4,5};
            string[] tmp1 = new string[] { "12","122","asdfa"};
            GetRandomArray(tmp1);               //1
            GetRandomArray<string>(tmp1);   //2  1,2均可
            GetRandomArray(tmp);
            GetRandomArray<int>(tmp);
            Console.ReadLine();
        }

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧