随机 取题
来源:互联网 发布:python nonzero 编辑:程序博客网 时间:2024/06/02 07:30
/// <summary> /// 得到随机抽取重组DataTable /// </summary> /// <param name="dt">DataTable</param> /// <param name="randomNum">抽取数量,0返回原数据</param> /// <returns></returns> public static DataTable GetRandomDataTable(DataTable dt, int randomNum) { if(randomNum == 0) { return dt; } int[] array = RandomArray(0, dt.Rows.Count-1); DataTable newDt = dt.Copy(); newDt.Rows.Clear(); for (int k = 0; k < randomNum; k++) { newDt.ImportRow(dt.Rows[array[k]]); } return newDt; } /// <summary> /// 得到非重复的随机数组 /// </summary> /// <param name="small">小数</param> /// <param name="large">大数</param> /// <returns></returns> private static int[] RandomArray(int small, int large) { int x = 0, tmp = 0; if (small > large) { tmp = small; small = large; large = tmp; } int[] array = new int[large - small + 1]; for (int i = small; i <= large; i++) { array[i - small] = i; } Random random = new Random(unchecked((int)DateTime.Now.Ticks)); for (int i = array.Length - 1; i > 0; i--) { x = random.Next(0, i + 1); tmp = array[i]; array[i] = array[x]; array[x] = tmp; } return array; }
随机菜单算个小玩具